[Risolto] confronta celle ed estrai valori uguali

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
b1313
Messaggi: 12
Iscritto il: mercoledì 3 settembre 2014, 10:19

[Risolto] confronta celle ed estrai valori uguali

Messaggio 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
Ultima modifica di b1313 il venerdì 5 settembre 2014, 13:43, modificato 1 volta in totale.
openOffice 4.1.0 mac os x 10.9.4
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8956
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: confronta celle ed estrai valori uguali

Messaggio da charlie »

Ciao, se vuoi un aiuto concreto, allega prima un file .ods con i contenuti che vuoi estrarre.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: confronta celle ed estrai valori uguali

Messaggio 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
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: confronta celle ed estrai valori uguali

Messaggio 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 ;-)
Allegati
B1313_CercaVert.ods
(8.69 KiB) Scaricato 243 volte
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
b1313
Messaggi: 12
Iscritto il: mercoledì 3 settembre 2014, 10:19

Re: confronta celle ed estrai valori uguali

Messaggio 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.
Ultima modifica di b1313 il venerdì 5 settembre 2014, 11:49, modificato 1 volta in totale.
openOffice 4.1.0 mac os x 10.9.4
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: confronta celle ed estrai valori uguali

Messaggio 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
Allegati
B1313_CercaVert.ods
(11.01 KiB) Scaricato 183 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
b1313
Messaggi: 12
Iscritto il: mercoledì 3 settembre 2014, 10:19

Re: confronta celle ed estrai valori uguali

Messaggio 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
openOffice 4.1.0 mac os x 10.9.4
b1313
Messaggi: 12
Iscritto il: mercoledì 3 settembre 2014, 10:19

Re: confronta celle ed estrai valori uguali

Messaggio 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
openOffice 4.1.0 mac os x 10.9.4
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: confronta celle ed estrai valori uguali

Messaggio 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
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
b1313
Messaggi: 12
Iscritto il: mercoledì 3 settembre 2014, 10:19

Re: confronta celle ed estrai valori uguali

Messaggio da b1313 »

funziona, perfetto!! grazie mille
openOffice 4.1.0 mac os x 10.9.4
Rispondi