Unire 2 file e cancellare i doppioni
Unire 2 file e cancellare i doppioni
Ho 2 file calc con una lista di professionisti e dei campi aggiuntivi nelle varie colonne a fianco (nome, anno, email, iscrizione ecc.).
Un file ha poco più di 38.000 righe e l'altro poco più di 10.000
I professionisti nel secondo file hanno più informazioni (quini colonne) e devo sostituirli a quelli del primo file.
Avete idee su come potrei fare?
La prima cosa che mi viene in mente sarebbe quella di:
- Unire i 2 file;
- Ordinare i le righe della colonna A per ordine alfabetico (le colonne b/c/d ecc. rimangono correttamente associate alla colonna a?);
C'è un modo per trovare tutte le righe A doppie e cancellarne 1? Dovrei però cancellare solo le righe del primo file quindi dovrei aggiungere qualcosa (magari una nuova colonna) e se esiste quindi avere un'opzione che dice cancellare tutte le righe doppie che hanno la colonna P oppure...
Grazie
Un file ha poco più di 38.000 righe e l'altro poco più di 10.000
I professionisti nel secondo file hanno più informazioni (quini colonne) e devo sostituirli a quelli del primo file.
Avete idee su come potrei fare?
La prima cosa che mi viene in mente sarebbe quella di:
- Unire i 2 file;
- Ordinare i le righe della colonna A per ordine alfabetico (le colonne b/c/d ecc. rimangono correttamente associate alla colonna a?);
C'è un modo per trovare tutte le righe A doppie e cancellarne 1? Dovrei però cancellare solo le righe del primo file quindi dovrei aggiungere qualcosa (magari una nuova colonna) e se esiste quindi avere un'opzione che dice cancellare tutte le righe doppie che hanno la colonna P oppure...
Grazie
OpenOffice 4.1.11 su Windows 11
Re: Unire 2 file e cancellare i doppioni
Unisci i 2 file e ordina in base alla colonna A poi applica questo
https://help.libreoffice.org/latest/it/ ... DbPAR=CALC
https://help.libreoffice.org/latest/it/ ... DbPAR=CALC
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Unire 2 file e cancellare i doppioni
Ho provato ma non sono riuscito a fare quello che mi serve...
Allego un file demo...
In pratica ho la necessità che le ultime 3 righe (12-13-14) mi si sostituiscono alle prime 3 righe (1-2-3)
Grazie
Allego un file demo...
In pratica ho la necessità che le ultime 3 righe (12-13-14) mi si sostituiscono alle prime 3 righe (1-2-3)
Grazie
- Allegati
-
- prova.ods
- (12.02 KiB) Scaricato 65 volte
OpenOffice 4.1.11 su Windows 11
Re: Unire 2 file e cancellare i doppioni
Non avevo letto bene, dopo l'ordinamento occorre una macro che elimina le righe col doppione in col A e in cui la colonna 4 non è popolata
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Unire 2 file e cancellare i doppioni
E come si fa?
No saprei a dove iniziare
No saprei a dove iniziare
OpenOffice 4.1.11 su Windows 11
Re: Unire 2 file e cancellare i doppioni
Una possibile soluzione senza macro.
Aggiungere due colonne iniziali cui assegni intestazione di preferenza e in colonna B indichi poi:
- numero file 1 (x elenco originario in cui devi fare sostituzioni)
- numero file 2 (x elenco originario delle sostituzioni da fare).
. .
Con mouse posizionato in colonna C imposti ordine dati:
- ordinamento 1 colonna C crescente
- ordinamento 2 colonna B crescente.
Con i dati così ordinati imposti in cella A2 la formula:
“XXX” la sigla di riscontro d’interesse (sostituibile con altra di preferenza).
Formula chiave cella A2 ricopiabile in basso quanto serve si adatta automaticamente.
. .
Impostare filtro automatico e filtrare i soli riscontri “XXX” di colonna A.
.
Aggiungere due colonne iniziali cui assegni intestazione di preferenza e in colonna B indichi poi:
- numero file 1 (x elenco originario in cui devi fare sostituzioni)
- numero file 2 (x elenco originario delle sostituzioni da fare).
. .
Con mouse posizionato in colonna C imposti ordine dati:
- ordinamento 1 colonna C crescente
- ordinamento 2 colonna B crescente.
Con i dati così ordinati imposti in cella A2 la formula:
Codice: Seleziona tutto
=SE(O(E(B2=1;B3=1);E(B2=2;B1=1));"XXX";"")
Formula chiave cella A2 ricopiabile in basso quanto serve si adatta automaticamente.
. .
Impostare filtro automatico e filtrare i soli riscontri “XXX” di colonna A.
Editato: N.B.: ultima riga elenco (in esempio ultima immagine - riga 14 è comunque valida - Ricordarsi di copiarla dopo il filtraggio dati |
- Allegati
-
- prova01.ods
- (19.86 KiB) Scaricato 61 volte
Ultima modifica di lucky63 il sabato 16 settembre 2023, 21:08, modificato 1 volta in totale.
- Lanfranchi G.Luigi
- Messaggi: 116
- Iscritto il: venerdì 12 aprile 2019, 16:54
Re: Unire 2 file e cancellare i doppioni
Si può fare anche in macro ma il campo che determina il doppione deve essere inequivocabile. I nomi propri non lo sono e ci possono essere clienti omonimi, col rischio di essere erroreamente cancellati. Un codice fiscale, per esempio, sarebbe più idoneo.
LibreOffice ver. 7.5.3.2 - Windows 10 Pro 64 bit
- Lanfranchi G.Luigi
- Messaggi: 116
- Iscritto il: venerdì 12 aprile 2019, 16:54
Re: Unire 2 file e cancellare i doppioni
Comunque ecco un semplice codice che cancella i doppioni.
Spero di aver capito bene quello che ti serve.
Vedi anche l'allegato.
Ciao
Spero di aver capito bene quello che ti serve.
Codice: Seleziona tutto
Sub CancellaDoppioni
Sheet = ThisComponent.CurrentController.ActiveSheet
Cell = Sheet.getCellRangeByName("A1")
Cursor = sheet.createCursorByRange(cell)
Cursor.gotoEnd()
FineCiclo = Cursor.RangeAddress.EndRow +1 ' trovo l'ultima riga
For Ciclo = 1 to FineCiclo
Controllo = Sheet.getCellRangeByName("D"&Ciclo).string
if Controllo= "" then
Nome1 = Sheet.getCellRangeByName("A"&Ciclo).string
For CicloInterno = 1 to FineCiclo
Controllo = Sheet.getCellRangeByName("D"&CicloInterno).string
Nome2 = Sheet.getCellRangeByName("A"&CicloInterno).string
if Nome1=Nome2 and controllo<>"" then
Sheet.getCellRangeByName("A"&Ciclo).String = ""
Sheet.getCellRangeByName("B"&Ciclo).string = ""
Sheet.getCellRangeByName("C"&Ciclo).string = ""
exit for
end if
next
end if
next
End Sub
Ciao
- Allegati
-
- prova.ods
- (21.46 KiB) Scaricato 50 volte
LibreOffice ver. 7.5.3.2 - Windows 10 Pro 64 bit
Re: Unire 2 file e cancellare i doppioni
Prova anche questa, ma prima di lanciarla fai l'ordinamento in base alla colonna A
Codice: Seleziona tutto
Sub Eliminadoppie
oSheet = ThisComponent.Sheets(0)
col=0 ' colonna A
RIGA=1
Do
If oSheet.getCellByPosition(3,RIGA).string <> "" Then
if StrComp(oSheet.getCellByPosition(col,RIGA).string,oSheet.getCellByPosition(col,RIGA-1).string,0)=0 then
oSheet.Rows.removeByIndex(RIGA-1, 1)
end if
else
RIGA = RIGA + 1
if oSheet.getCellByPosition(col,RIGA).string = "" then exit do
End If
Loop
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
- Lanfranchi G.Luigi
- Messaggi: 116
- Iscritto il: venerdì 12 aprile 2019, 16:54
Re: Unire 2 file e cancellare i doppioni
Ciao Patel.
Il codice da te proposto non mi funzionava.
Mi sono permesso di modificarne alcuni passaggi.
Gia che ci siamo posso chiederti perchè, se seleziono la prima colonna dalla seconda cella (A2) a scendere quando faccio fare il riordino crescente mi coinvolge, nel riordino, anche la cella A1 ?
Sbaglio qualche cosa ?
Grazie.
Il codice da te proposto non mi funzionava.
Mi sono permesso di modificarne alcuni passaggi.
Codice: Seleziona tutto
Sub Eliminadoppie
oSheet = ThisComponent.Sheets(0)
col=0 ' colonna A
RIGA=1
Do
if oSheet.getCellByPosition(col,RIGA).string = "" then exit do ' modificato
If oSheet.getCellByPosition(3,RIGA).string = "" Then ' modificato
if StrComp(oSheet.getCellByPosition(col,RIGA).string,oSheet.getCellByPosition(col,RIGA-1).string,0)=0 then
oSheet.Rows.removeByIndex(RIGA, 1) ' modificato
end if
End If
RIGA = RIGA + 1 ' modificato
Loop
End Sub
Sbaglio qualche cosa ?
Grazie.
LibreOffice ver. 7.5.3.2 - Windows 10 Pro 64 bit
Re: Unire 2 file e cancellare i doppioni
Non so risponderti, io seleziono sempre la prima cella della riga col titolo per fare l'ordinamento.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
- Lanfranchi G.Luigi
- Messaggi: 116
- Iscritto il: venerdì 12 aprile 2019, 16:54
Re: Unire 2 file e cancellare i doppioni
Ma così facendo il titolo viene spostato in fondo nel riordino perchè comincia con la T (titolo).
Volevo evitare questo selezionando dalla seconda cella in poi ma Calc sposta, nel riordinare, anche la prima.
Sembra che Calc riordini tutte le celle adiacenti comprese quelle superiori.
Se inserisco una riga vuota dopo il titolo questo non viene più spostato nel riordino.
Grazie.
Ciao.
Volevo evitare questo selezionando dalla seconda cella in poi ma Calc sposta, nel riordinare, anche la prima.
Sembra che Calc riordini tutte le celle adiacenti comprese quelle superiori.
Se inserisco una riga vuota dopo il titolo questo non viene più spostato nel riordino.
Grazie.
Ciao.
LibreOffice ver. 7.5.3.2 - Windows 10 Pro 64 bit
Re: Unire 2 file e cancellare i doppioni
Evidentemente facciamo 2 procedure diverse, io seleziono la prima cella della riga col titolo e poi Dati, Ordina.
Nel campo colonna mi compare TITOLO.
Nel campo colonna mi compare TITOLO.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
- Lanfranchi G.Luigi
- Messaggi: 116
- Iscritto il: venerdì 12 aprile 2019, 16:54
Re: Unire 2 file e cancellare i doppioni
Tutto chiarito.
Io usavo la seconda scelta "Ordina in modo creescente" e non "ordina".
Usando ordina il titolo rimane dove è.
Grazie mille per la pazienza.
Ciao.
Io usavo la seconda scelta "Ordina in modo creescente" e non "ordina".
Usando ordina il titolo rimane dove è.
Grazie mille per la pazienza.
Ciao.
LibreOffice ver. 7.5.3.2 - Windows 10 Pro 64 bit