La FUNZIONE =CONFRONTA, la Funzione =RIF.RIGA e la Funzione =SE Utilizzo: controllo inserimento dati doppioni. Quando si ha la necessità di controllare se un dato che stiamo inserendo NON sia già presente in un determinato elenco, e vorremmo essere avvisati se questo accade, possiamo adoperare delle funzioni di Excel, tre per l'esattezza, da inserire ognuna in tre colonne, le quali, lavorando "a caduta", ci permettono di controllare l'inserimento di dati ed essere avvisati. Le funzioni da usare sono: =CONFRONTA, =RIF.RIGA e =SE. Diamo prima un occhiata alle funzioni:
Nell'esempio sotto è stato
ripreso il procedimento usato anche per realizzare "Superenalotto", presente
in questa sezione. Si vuole essere avvisati se in un elenco (da A1 a A17)
inseriamo due o più volte uno stesso valore (l'esempio è fatto usando
numeri, ma funziona anche con lettere (nomi) o con date. Per le lettere la
funzione non rileva le maiuscole). Il funzionamento non è complicato: nella
colonna A, dalla riga 2 alla 17, vengono inseriti dei valori; nella colonna
B (dalla riga 2 alla 17) viene inserita la formula
=CONFRONTA(A2;$A$2:$A$17;0) che significa: confronta
il valore che è in A2 con quelli presenti nelle celle da A2 a A17, e cerca
lo stesso valore ; nel caso che trovi il valore già presente, la funzione
riporta il numero di riga corrispondente al primo valore uguale già
presente. Se non esistono doppioni, la funzione
riporta il numero di riga relativo al valore appena immesso. (ricordo
che per numero di riga, la funzione NON intende il numero
riga del foglio di lavoro, MA il numero di riga relativo alle righe che
compongono l'elenco). Sotto vediamo infatti che il numero 7, presente nella
prima e nella terza riga dell'elenco, viene riconosciuto e in B4 viene
riportato 1, che è il numero di riga (elenco) dove si trova il primo 7. |
Ora vediamo cosa fa la seconda funzione, la =RIF.RIGA, posizionata nella colonna C, anche questa inserita nelle celle che vanno dalla 2 alla 17. Questa funzione riporta il numero di riga relativo alla cella in riferimento, (in questa funzione per numero di riga si intende il numero della riga del Foglio di Lavoro, non quella di un elenco) per cui la funzione =RIF.RIGA(A2) riporterebbe 2. Poichè a noi interessa confrontare il risultato della colonna B (in B2 il primo valore) il quale riporta il numero di riga elenco, che è sfalsato di una riga (l'elenco comincia in A2 che è il primo numero di riga elenco) rispetto al numero riga del foglio di lavoro, toglieremo 1 alla formula, e cioè: =RIF.RIGA(A2)-1. Perchè facciamo questo: perchè abbiamo bisogno di verificare una diversità tra le colonne B e C in modo che la terza funzione =SE, nella colonna D, operando sui valori delle celle sulla stessa riga, (ma delle colonne B e C), ci segnalerà se il numero immesso " è già presente" o no - Ricordo che la funzione CONFRONTA, se non esistono doppioni, riporta il numero di riga elenco del numero immesso che quindi corrisponderà a RIF.RIGA, ma se il numero esiste già, e vuol dire che è su una riga precedente al numero immesso, verrà riportato un numero riga diverso (sempre inferiore) e quindi si creerà la diversità necessaria che la funzione =SE interpreterà.
La funzione =SE (inserita nella colonna D e nello stesso range delle altre), è condizionale : se si verifica una condizione, mi fai questo, altrimenti quest'altro, e quindi la formula sarà =SE(B2<C2;"Già presente";"") cioè se il valore della cella B2 è inferiore a quello in C2, allora mi scrivi "Già presente", altrimenti mi lasci la cella vuota. Ovviamente gli si può far dire ciò che vogliamo, basterà cambiare il testo.
Se poi vogliamo completare "l'opera", nascondendo le colonne B e C, dovremo selezionare le due intestazioni di colonna e dal menù "Formato/Colonna" sceglieremo "nascondi"
Il risultato sarà questo:
Procedura
realizzata con la collaborazione di Marco Nocciolini. |