Ogni mese esporti l’elenco clienti dal programma di fatturazione o quello degli iscritti alla tua newsletter, e devi sapere cosa è cambiato rispetto al mese precedente: chi è nuovo, chi non c’è più e a chi è stata modificata l’email. Con due file da centinaia di righe, confrontare a mano non è un’opzione.
Ecco un metodo ordinato per individuare nuovi clienti, cessati e modifiche con le formule di Excel, con dati di esempio e gli errori che causano più risultati falsi.
Prima di iniziare: scegli una chiave univoca
Per confrontare due elenchi ti serve un campo che identifichi ogni cliente senza ambiguità e che non cambi nel tempo. È la chiave. Le opzioni abituali, dalla migliore alla peggiore:
- Un codice cliente (C-001, C-002…). È l’ideale: non si ripete e non cambia nemmeno se il cliente aggiorna l’email.
- L’indirizzo email. Va bene per gli elenchi di iscritti, ma se qualcuno cambia email comparirà come un cessato e un nuovo.
- Il nome. È l’opzione peggiore: esistono omonimi e la stessa persona può essere scritta in vari modi.
Copia le due versioni dell’elenco nella stessa cartella di lavoro, in fogli chiamati Precedente e Attuale. Lavorare in un unico file semplifica le formule ed evita riferimenti a cartelle di lavoro chiuse.
I dati di esempio
Foglio Precedente (dati in A2:C5):
| A: ID | B: Nome | C: Email |
|---|---|---|
| C-001 | Cliente A | clientea@esempio.com |
| C-002 | Cliente B | clienteb@esempio.com |
| C-003 | Cliente C | clientec@esempio.com |
| C-004 | Cliente D | cliented@esempio.com |
Foglio Attuale (dati in A2:C5):
| A: ID | B: Nome | C: Email |
|---|---|---|
| C-001 | Cliente A | clientea@esempio.com |
| C-002 | Cliente B | vendite.b@esempio.com |
| C-004 | Cliente D | cliented@esempio.com |
| C-005 | Cliente E | clientee@esempio.com |
A colpo d’occhio: C-005 è un nuovo cliente, C-003 è cessato e C-002 ha cambiato email. Vediamo come lo rileva Excel.
Individuare nuovi e cessati con CONTA.SE
Nuovi: sono in Attuale ma non in Precedente
Nel foglio Attuale, scrivi l’intestazione «Stato» in D1 e questa formula in D2. Poi copiala verso il basso:
=SE(CONTA.SE(Precedente!$A$2:$A$5;A2)=0;"Nuovo";"Già presente")
CONTA.SE conta quante volte l’ID compare nel foglio Precedente. Se il risultato è zero, il cliente è nuovo. Solo C-005 risulta «Nuovo».
Cessati: erano in Precedente e ora non ci sono più
Fai lo stesso nel foglio Precedente, cercando nella direzione opposta:
=SE(CONTA.SE(Attuale!$A$2:$A$5;A2)=0;"Cessato";"Attivo")
C-003 risulta «Cessato». Con i tuoi dati reali, estendi gli intervalli fino all’ultima riga o, meglio, trasforma ogni elenco in una tabella da Inserisci › Tabella, così gli intervalli cresceranno da soli.
Individuare le modifiche nei dati
Il fatto che un cliente sia ancora nell’elenco non significa che i suoi dati siano gli stessi. Per controllare l’email, recupera il valore precedente con CERCA.VERT e confrontalo con quello attuale. Questa formula, nella colonna D del foglio Attuale, sostituisce quella dei nuovi e risolve tutto in una volta:
=SE(CONTA.SE(Precedente!$A$2:$A$5;A2)=0;"Nuovo";SE(CERCA.VERT(A2;Precedente!$A$2:$C$5;3;FALSO)=C2;"Nessuna modifica";"Email modificata"))
Prima verifica se l’ID esiste nell’elenco precedente. Se esiste, recupera l’email che aveva (colonna 3 dell’intervallo) e la confronta con quella della riga attuale. Risultato: C-001 e C-004 «Nessuna modifica», C-002 «Email modificata» e C-005 «Nuovo».
Controllare più campi
Per tenere d’occhio anche il nome, aggiungi un’altra colonna con la stessa logica, cambiando il numero di colonna e la cella confrontata:
=SE(CONTA.SE(Precedente!$A$2:$A$5;A2)=0;"";SE(CERCA.VERT(A2;Precedente!$A$2:$C$5;2;FALSO)=B2;"";"Nome modificato"))
Tieni presente che il confronto con = non distingue le maiuscole: «Cliente b» e «Cliente B» sono considerati uguali. Per un’email è proprio quello che vuoi.
Elenchi automatici di nuovi, cessati e modifiche in Excel 365
Se hai Excel 365 o Excel 2021, FILTRO restituisce ogni gruppo completo, con tutte le colonne, in un foglio di riepilogo. Nuovi:
=FILTRO(Attuale!A2:C5;CONTA.SE(Precedente!A2:A5;Attuale!A2:A5)=0;"Nessun nuovo")
Cessati:
=FILTRO(Precedente!A2:C5;CONTA.SE(Attuale!A2:A5;Precedente!A2:A5)=0;"Nessun cessato")
Modifiche dell’email, usando CERCA.X:
=FILTRO(Attuale!A2:C5;SE.ERRORE(CERCA.X(Attuale!A2:A5;Precedente!A2:A5;Precedente!C2:C5)<>Attuale!C2:C5;FALSO);"Nessuna modifica")
SE.ERRORE evita che i nuovi clienti, che non esistono nell’elenco precedente e restituirebbero #N/D, rompano il risultato. Lascia spazio libero sotto ogni formula: se le celle di destinazione sono occupate, vedrai l’errore #ESPANSIONE!.
Elenchi di email senza codice cliente
In un elenco di iscritti, di solito l’unica chiave è l’email. Prima di confrontare, normalizzala, perché «Ana@Esempio.com » e «ana@esempio.com» sono la stessa email per te, ma non sempre per Excel:
- Inserisci una colonna di appoggio accanto all’email in entrambi i fogli.
- Scrivi
=MINUSC(ANNULLA.SPAZI(B2)), supponendo che l’email sia nella colonna B, e copiala verso il basso. - Usa quella colonna come chiave nelle formule con
CONTA.SEdelle sezioni precedenti. - Controlla i nuovi e i cessati con lo stesso nome: potrebbero essere la stessa persona con una nuova email.
ANNULLA.SPAZI elimina gli spazi superflui e MINUSC converte tutto in minuscolo, così il confronto diventa molto più affidabile.
Errori comuni e come evitarli
- Duplicati in uno dei due elenchi. Se un cliente compare due volte, i conteggi diventano poco chiari e
CERCA.VERTguarda solo la prima corrispondenza. Puliscili prima con il nostro strumento per rimuovere i duplicati. - ID in formati diversi. «C-001» e «C001», oppure 1 e «0001», non coincidono. Uniforma il formato prima di confrontare.
- Intervalli che non arrivano in fondo. Se aggiungi righe e non estendi l’intervallo, i nuovi clienti risulteranno sempre come falsi nuovi o cessati.
- Dimenticare FALSO in CERCA.VERT. Senza quest’ultimo argomento la ricerca è approssimativa e può restituire i dati di un altro cliente.
- Lavorare sul file originale. Fai una copia. Sono dati personali: conservali con cura e non condividerli più del necessario.
Quando gli elenchi hanno molte colonne (telefono, indirizzo, categoria, commerciale assegnato…), scrivere una formula per campo diventa noioso. In questi casi puoi usare il nostro strumento gratuito per confrontare file Excel: carichi la versione precedente come originale e quella nuova come modificata, e ottieni un file con le modifiche tra le due. Poi puoi usare le formule di questo articolo per classificare ciò che ti interessa.
Conclusione
Confrontare due elenchi di clienti si riduce a tre domande: chi è nuovo, chi se n’è andato e cosa è cambiato. Con una chiave univoca, CONTA.SE risponde alle prime due e CERCA.VERT o CERCA.X alla terza. Se normalizzi le email, elimini i duplicati e blocchi bene gli intervalli, avrai un controllo mensile affidabile da ripetere in pochi minuti.
Domande frequenti
Cosa succede se un cliente cambia email e non ho un codice cliente?
Excel lo vedrà come un cessato (la vecchia email) e un nuovo (quella nuova). Nessuna formula può indovinare che si tratta della stessa persona; controlla a mano i nuovi e i cessati che hanno lo stesso nome o telefono.
Posso confrontare elenchi che si trovano in due file diversi?
Sì, le formule accettano riferimenti a un’altra cartella di lavoro, ma entrambe dovrebbero essere aperte per aggiornarsi senza problemi. È più comodo copiare i due fogli nella stessa cartella di lavoro prima di iniziare.
Le formule distinguono le maiuscole nelle email?
No. Né CONTA.SE né il confronto con = distinguono le maiuscole, il che è comodo perché nella pratica gli indirizzi email non ne tengono conto. Gli spazi invece contano, per questo conviene usare ANNULLA.SPAZI.
Funziona con elenchi di migliaia di righe?
Sì. CONTA.SE e CERCA.VERT gestiscono senza problemi decine di migliaia di righe, anche se il calcolo può richiedere un po’ più di tempo. Se la cartella di lavoro rallenta, copia i risultati e incollali come valori quando hai finito.
Prova i nostri strumenti gratuiti
Confronta, converti, unisci e pulisci i tuoi fogli di calcolo dal browser, senza installare nulla.