Funzioni Ricerca e Riferimento: capire CERCA.VERT, INDICE e CONFRONTA

Nella categoria “Ricerca e Riferimento”, Excel dispone di 20 funzioni. Solo 3 di queste però mi capita di riusare costantemente: illustro qua di seguito le funzioni CERCA.VERT, INDICE e CONFRONTA.

CERCA.VERT: trova il nome nel tabulato

Immaginiamo di avere una lista le vendite effettuate nell’anno scorso. Le righe della tabella sono migliaia e a noi ci viene chiesto di esaminarne un po’, partendo da una lista di identificativi.

Vogliamo fare in modo che il foglio ci fornisca i dati di un record della lista partendo dal suo indentificativo ID, presente nella colonna A.

Potremmo effettuare la ricerca manualmente, ma se il listato è di grandi dimensioni preferiremmo risparmiarci lo sforzo.

Possiamo usare piuttosto la seguente funzione:

=CERCA.VERT(G2;A2:E29;5; FALSO)

Dove G2 come da figura sopra è il valore ID che vogliamo cercare, A2:E29 è l’intervallo di celle contenente i record della lista e 5 è il numero della colonna di nostro interesse, ossia la colonna “Importo”. FALSO indica che richiediamo una corrispondenza esatta (esempio nei paragrafi successivi).

Il risultato dato dalla funzione è 2300€, esattamente l’importo che troviamo nella riga della lista con ID uguale a 25!

CERCA.VERT effettua le seguenti operazioni:

  • Cerca nella prima colonna il valore che stiamo cercando, in questo caso l’ID 25.
  • Trovata la riga, cerca il campo alla quinta colonna nell’intervallo di celle indicato nella formula.
  • Restituisce il valore del campo.

Avendo inserito il valore FALSO come ultimo argomento della funzione, stiamo dicendo a Excel che desideriamo una corrispondenza esatta. Richiesta plausibile, dal momento che abbiamo di conoscere un ID con esattezza.

A volte invece può essere sufficiente una corrispondenza approssimata, in questo caso passiamo il valore VERO.

Immaginiamo di voler calcolare un’aliquota in base all’appartenenza ad una certa fascia di reddito. Possiamo usare CERCA.VERT come illustrato nella figura sopra, ma avendo passato il valore VERO per la corrispondenza approssimata, la funzione restituirà il valore alla riga nella quale il valore cercato è appena superiore. In questo caso, 7000 è superiore a 5000, ma inferiore a 20000, quindi la riga con aliquota al 15% ottiene la corrispondenza.

Limitazione della funzione CERCA.VERT

Questa funzione è molto utile e anche semplice da usare, ma ha un difetto: il valore cercato deve trovarsi nella prima colonna dell’intervallo di celle fornito.

Questa può essere una limitazione significativa, immaginiamo di voler effettuare la ricerca seguendo molteplici parametri. Dovremmo effettuare una copia della tabella e riorganizzare le colonne per riuscire in questo compito, ma è un’operazione che ci fa perdere del tempo ed è prona ad errori.

Possiamo piuttosto affidarci alle funzioni CONFRONTA e INDICE.

Funzione CONFRONTA

Questa funzione da sola non sostituisce la ricerca verticale, ma ha un grado di flessibilità in più, dal momento che ci lascia effettuare la ricerca sulla colonna che vogliamo.

Nella cella I5 è calcolata la funzione CONFRONTA (riportata graficamente fuori dalla cella per ragioni illustrative) con i seguenti valori: il valore 4189 nella cella cella H5, che è il codice transazione che vogliamo cercare; l’intervallo di celle E2:E24, ossia la colonna nel quale va cercato il valore desiderato, e 0 per effettuare di nuovo una corrispondenza esatta.

Il valore restituito dalla funzione è 7, che è effettivamente la riga che nel quale il codice 4189 è presente (il numero della riga esclude la riga di intestazione, infatti la ricerca avviene partendo dalla cella E2).

Funzione INDICE

Alla funzione INDICE rimane un compito “facile”, che è quello di dare il valore di una cella, data una certa riga ed una certa colonna.

Alla funzione INDICE vengono passati questi valori: A2:F24 è l’intervallo di celle nel quale si vuole estrarre la cella, I5 è il valore della riga trovato dalla funzione CONFRONTA e 6 è il valore della coordinata della colonna “Importo” (contando partendo dalla prima colonna ID).

Con un po’ di complessità in più, siamo riusciti a calcolare il valore importo della riga desiderata in base ad un codice transazione dato in ingresso.

Leave a Reply

Your email address will not be published. Required fields are marked *