Pagina 1 di 1

[Risolto] confronta celle ed estrai valori uguali

Inviato: mercoledì 3 settembre 2014, 10:35
da b1313
Ciao!
dalla seguente tabella vorrei estrarre nella colonna C i valori che sono presenti sia in colonna A sia in colonna B. Come posso fare?
A1 1,2,3,4,5,6,7,8,9,10
B1 3,5,8,11,17,21
C1 3,5,8

A2 4,5,6,7,8,9,10
B2 7,9,11,23
C2 7,9
...

Grazie

Re: confronta celle ed estrai valori uguali

Inviato: mercoledì 3 settembre 2014, 11:33
da charlie
Ciao, se vuoi un aiuto concreto, allega prima un file .ods con i contenuti che vuoi estrarre.

Re: confronta celle ed estrai valori uguali

Inviato: mercoledì 3 settembre 2014, 11:42
da Gaetanopr
Con formule non saprei, prova questa macro

Codice: Seleziona tutto

REM  *****  BASIC  *****

Sub Main
Dim Riscontri()
doc=thiscomponent
Sh1 =  Doc.Sheets(0)
c = Sh1.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow             
  For i = 0 to LastRow   
    x = 0 
    oCell1 = Sh1.getCellByPosition(0, i)
    Array1 = Split(oCell1.String,",")
    oCell2 = Sh1.getCellByPosition(1, i)
    Array2 = Split(oCell2.String,",")
    For n = Lbound(Array1) To Ubound(Array1)
      For y = Lbound(Array2) To Ubound(Array2)
        If Array1(n) = Array2(y) Then
           Redim Preserve Riscontri(0 to x)
           Riscontri(x) = Array1(n) 
           x = x + 1  
        End If
      Next y
    Next n
    Sh1.getCellByPosition(2, i).String = Join( Riscontri(), "," )
  Next i          
   

End Sub

Re: confronta celle ed estrai valori uguali

Inviato: mercoledì 3 settembre 2014, 12:08
da Mizio1961
Ciao
In aggiunta a quanto già detto dagli altri, ti allego il file .ods con un esempio di formula che puoi usare
Saluti by Mizio ;-)

Re: confronta celle ed estrai valori uguali

Inviato: venerdì 5 settembre 2014, 11:30
da b1313
Ciao!
allego il file dove ho provato la macro indicata sopra.
Credo ci sia un leggero errore perchè se non trova valori uguali mi visualizza la cella superiore, se invece li trova me li visualizza corretti.
Nel file ho evidenziato di giallo gli errori delle prime 40 righe circa...

grazie
charlie ha scritto:Ciao, se vuoi un aiuto concreto, allega prima un file .ods con i contenuti che vuoi estrarre.

Re: confronta celle ed estrai valori uguali

Inviato: venerdì 5 settembre 2014, 11:39
da Gaetanopr
Credo che tu non abbia provato la macro che ti ho allegato
segui le seguenti istruzioni
http://professoressa.altervista.org/Dis ... re_OOo.pdf

ti allego il tuo file con già la macro inserita

Re: confronta celle ed estrai valori uguali

Inviato: venerdì 5 settembre 2014, 11:50
da b1313
ok provo
Gaetanopr ha scritto:Credo che tu non abbia provato la macro che ti ho allegato
segui le seguenti istruzioni
http://professoressa.altervista.org/Dis ... re_OOo.pdf

ti allego il tuo file con già la macro inserita

Re: confronta celle ed estrai valori uguali

Inviato: venerdì 5 settembre 2014, 12:02
da b1313
Ho provato il file con la macro indicata da gaetanopr.
Ho inserito un altra riga (A4 1,3,5 B4 7,10,12), in questo caso non dovrebbe in C4 restituirmi niente, ma dopo aver eseguito la macro mi visualizza la cella sovrastante C3.
Devo modificarla? e come posso fare?
grazie

Re: confronta celle ed estrai valori uguali

Inviato: venerdì 5 settembre 2014, 12:07
da Gaetanopr
Cambia con questa

Codice: Seleziona tutto

Sub Main
Dim Riscontri()
doc=thiscomponent
Sh1 =  Doc.Sheets(0)
c = Sh1.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow             
  For i = 0 to LastRow   
    x = 0 
    oCell1 = Sh1.getCellByPosition(0, i)
    Array1 = Split(oCell1.String,",")
    oCell2 = Sh1.getCellByPosition(1, i)
    Array2 = Split(oCell2.String,",")
    For n = Lbound(Array1) To Ubound(Array1)
      For y = Lbound(Array2) To Ubound(Array2)
        If Array1(n) = Array2(y) Then
           Redim Preserve Riscontri(0 to x)
           Riscontri(x) = Array1(n) 
           x = x + 1  
        End If
      Next y
    Next n
    If x > 0 Then 
       Sh1.getCellByPosition(2, i).String = Join( Riscontri(), "," )
    Else 
       Sh1.getCellByPosition(2, i).String = ""
    End if   
  Next i          
   

End Sub

Re: confronta celle ed estrai valori uguali

Inviato: venerdì 5 settembre 2014, 12:13
da b1313
funziona, perfetto!! grazie mille