Come fare a...
Web
Come fare a...

Confrontare elenchi con Excel 2007 e 2003/XP

Evidenziare le differenze

Pagine: 1 di 2 AvantiTop
Autore: Alessandra Salvaggio - Tratto da: Problemi e soluzioni con Excel - Edizioni FAG Milano
Acquista il libro online In questo articolo su Microsoft Excel 2007, vi mostreremo come affrontare il problema del confronto fra i dati di due elenchi. Impareremo, cioè, a vedere quali dati si ripetono in due elenchi distinti. Noi proporremo un esempio con dati testuali ma, naturalmente, la stessa procedura può essere adottata con dati di tipo diverso.

Confrontare i dati

Per questo nostro esempio, confronteremo i dati di due elenchi presenti nella stessa cartella di lavoro. Alla fine dell'articolo, mostreremo come confrontare elenchi memorizzati in cartelle di lavoro differenti.
Il file che useremo, ConfrontoElenchi.xls, è disponibile sul booksite del libro da cui è stato tratto questo articolo, e contiene, in due fogli diversi (Iscritti2007 e Iscritti2008), i dati delle persone iscritte a una nuova palestra rispettivamente nell’anno 2007 e nell’anno 2008, visibili in figura 1.
Ora, noi vogliamo sapere quali sono i nuovi iscritti dell’anno 2008 e quali le persone iscritte nel 2007 che non hanno rinnovato l’iscrizione.
Cominciamo col vedere quali sono i nuovi iscritti del 2008. Procederemo per gradi, creando anche una serie di colonne di appoggio che poi, eventualmente, nasconderemo. Innanzitutto, noi abbiamo i dati dei nostri iscritti (per evitare confusione, abbiamo volutamente limitato le informazioni presenti sul foglio, ma nulla ci vieta di confrontare solo alcune colonne di elenchi più complessi) divisi in due colonne, con in una il nome e nell’altra il cognome.


Figura 1: i fogli del file ConfrontoElenchi.xls

In realtà abbiamo bisogno di fare il confronto dei due dati uniti. Quindi, dobbiamo generare una colonna in entrambi i fogli in cui i dati appaiano insieme. Per farlo, basterà inserire nella cella C1 di entrambi i fogli la funzione:

=CONCATENA(A1;" ";B1)

La funzione CONCATENA, come dice il nome, concatena o unisce due o più stringhe di testo. Nel nostro caso uniamo il nome e il cognome (o meglio il valore contenuto nella colonna A con quello contenuto nella colonna B), inserendo anche uno spazio vuoto (rappresentato da " ") fra i due elementi.

Nota
Per poter confrontare correttamente dei testi, bisogna essere sicuri che non siano rimasti, per errore, uno o più spazi vuoti dopo l’ultimo carattere. Per rimuovere questi spazi vuoti si può ricorrere alla funzione ANNULLA.SPAZI, che cancella gli spazi vuoti ai lati di una stringa (quindi non quelli interni). Possiamo usare questa funzione, annidandola nella funzione CONCATENA, in questo modo:

=CONCATENA(ANNULLA.SPAZI(A1); " "; ANNULLA.SPAZI(B1))

Sia la funzione CONCATENA sia la funzione ANNULLA.SPAZI si trovano tra le funzioni di testo.

La funzione va poi trascinata in tutta la colonna C, in modo da ottenere il risultato della figura 2.


Figura 2: Nomi e cognomi concatenati

A questo punto, siamo pronti per verificare quali nomi sono presenti in entrambi i fogli. Lavoreremo nel foglio Iscritti2008. Qui controlleremo, nome per nome, se la persona risulta già iscritta nel 2007, ovvero verificheremo se ciascun valore Cognome Nome si trova anche nel foglio Iscritti2007.
Ci serviremo della funzione CONFRONTA (fa parte della categoria Ricerca e riferimento). Questa funzione richiede tre parametri:

  • Valore: il valore da cercare;
  • Matrice: l’intervallo in cui cercare;
  • Corrisp.: un valore a scelta fra -1,0 e 1 che indica il modo in cui deve avvenire la ricerca. Se si sceglie 1, che è il valore predefinito (se si vuole questo valore, si può omettere l’argomento) CONFRONTA troverà il valore più grande che sia minore o uguale a valore. È necessario che i valori nell’argomento matrice siano disposti in ordine crescente. Se si sceglie -1, CONFRONTA troverà il valore più piccolo che è maggiore o uguale a valore. È necessario che i valori dell’argomento matrice siano disposti in ordine decrescente. Se, invece, si sceglie 0, CONFRONTA troverà il primo valore che corrisponde esattamente a valore. I valori nell’argomento matrice, in questo caso, possono essere disposti in qualsiasi ordine. Il valore 0 fa al caso nostro, dato che ci occorre una corrispondenza esatta.

Il valore da ricercare riga per riga sarà il valore della colonna C, mentre il nostro intervallo Matrice sarà costituito dalla celle C1:C28 del foglio Iscritti2007, ossia le celle che contengono i nomi e i cognomi degli iscritti del 2007. Per comodità, visto che poi dovremo trascinare la funzione CONFRONTA, è opportuno che il riferimento all’elenco sia fissato in valore assoluto, oppure che si usi un nome per le celle in cui effettuare la ricerca. Anche in questo secondo caso il riferimento sarà fissato in valore assoluto.
Noi scegliamo questa seconda soluzione. Selezionare le celle C1:C28 del foglio Iscritti2008. Poi, se si usa Office 2007, portarsi alla scheda Formule e, nel gruppo Nomi definiti, premere il pulsante Definisci nome. Se, invece, si usano le versioni precedenti di Excel, scegliere Inserisci > Nome > Definisci.

Nota
Per chi non ricordasse cosa sono i nomi, diciamo che è possibile assegnare un nome a una cella o a un intervallo di dati, in modo da poter adoperare quel nome in una funzione per riferirsi all’intervallo stesso, senza usare i riferimenti di celle. L’uso del nome blocca automaticamente in valore assoluto il riferimento alla cella o all’intervallo in questione. Ricordiamo anche che i nomi degli intervalli devono cominciare con una lettera o con il carattere di sottolineatura (_); non possono contenere spazi vuoti né punti e non devono essere lunghi più di 255 caratteri.

Con entrambe le versioni, Excel vi mostrerà la finestra Definisci Nome. Qui, impostiamo il nome Iscritti2007 per questo gruppo di celle, come visibile in figura 3.


Figura 3: assegnare un nome alle celle C1:C28 del foglio Iscritti2008

Premere OK per tornare al foglio di lavoro e portarsi nel foglio Iscritti2008, sulla cella D1.
Qui inserire la funzione CONFRONTA, come segue:

=CONFRONTA(C2;Iscritti2007;0)

Potrebbe essere più comodo inserire la funzione con la finestra Argomenti funzione. Per aprirla, in Office 2007 portarsi alla scheda Formule e, nel gruppo Libreria di funzioni, fare clic sul pulsante Ricerca e riferimento; dal relativo menu, scegliere Confronta.
Con le precedenti versioni di Office, scegliere Inserisci > Funzione, poi nella finestra Inserisci funzione scegliere la categoria Ricerca e riferimento. Quindi, individuare la funzione Confronta. Compilare la finestra Argomenti funzione come nella figura 4.


Figura 4: la finestra Argomenti funzione

Una volta completata la funzione, trascinarla per tutta la colonna. Per i nomi che trova anche nell’elenco Iscritti 2007, la funzione restituisce il numero corrispondente alla posizione che quel numero ha nell’elenco Iscritti2007. Invece, per i nomi che non sono presenti nell’elenco, la funzione restituisce l’errore #N/D, come visibile in figura 5.


Figura 5: i risultati della funzione CONFRONTA

Possiamo dire, quindi, di avere già identificato quali sono i nomi che sono presenti solo nel foglio Iscritti2008.
Già a questo punto, potremmo applicare un filtro automatico facendo in modo che Excel ci mostri solo le celle della colonna C in cui compare il valore #N/D.
Basterà applicare un filtro automatico e, dall’elenco relativo alla colonna C, scegliere #N/D come mostrato in figura 6.


Figura 6: l’elenco filtrato

Nota
Per attivare il filtro automatico in Excel 2007, dalla scheda Home, nel gruppo Modifica, aprire il menu del pulsante Ordina e filtra e quindi scegliere Filtro automatico. Con le versioni precedenti di Excel, scegliere Dati > Filtro > Filtro automatico. Con entrambe le versioni, prima di attivare il filtro, occorre fare clic all’interno dell’elenco da filtrare.

Continua: 1 di 2 Avanti
Segnala questo articolo a un tuo amico

Edizioni FAG Milano

Vedi anche...

Sempre aggiornato

Abbonati alla newsletter di Come fare a... Sottoscrivi l'RSS di Come fare a... Usi Windows Live Messenger? Abbonati ai nostri Windows Live Alerts Unisciti al gruppo Come fare a... su Facebook Seguici su Twitter Scarica il Widget per Mac OS X