Nell’articolo precedente abbiamo visto come sfruttare la funzione CERCA.VERT di Microsoft Excel, ma esistono dei limiti, ad esempio è possibile cercare solo nelle colonne a destra dell’indice di ricerca.
Perciò oggi vedremo come nidificare due potenti funzioni di Excel per sfruttare al massimo la ricerca di valori all’interno di una tabella, ovvero INDICE e CONFRONTA.
Con queste due istruzioni è possibile:
- ricercare valori a destra e a sinistra della matrice;
- nessun limite nella dimensione del valore da ricercare (CERCA.VERT ha un limite per la stringa di ricerca di 255 caratteri);
- maggior flessibilità delle ricerche con approssimazione;
- maggior velocità quando si elaborano grandi quantità di dati;
- inserimento od eliminazioni di colonne senza il bisogno di riscrivere la funzione di ricerca.
Ricerca di valori con INDICE e CONFRONTA
Nell’esempio seguente avremo una tabella con dei dati riguardanti dei capi di abbigliamento, faremo una ricerca tramite il codice dell’articolo e cercheremo verticalmente la categoria corrispondente, che è una colonna a sinistra rispetto alla colonna codice.
Naturalmente sarà possibile estrapolare anche gli altri campi, nell’esempio ho estrapolato anche il prezzo che si trova a destra del codice.
La nostra matrice sarà definita dalla tabella B3:E12;
Il campo di Input sarà sulla cella C14;
il risultato della CATEGORIA sarà nella cella C16;
La formula da scrivere su C16 sarà:
=INDICE(Matrice;CONFRONTA(CampodiInput;ColonnaDiRicerca;Corrispondenza);IndiceDaCercare)
Corrispondenza può assumere i valori:
0 = Corrispondenza esatta;
1 = Minore di;
-1 = Maggiore di.
Quindi la formula per poter estrapolare il valore a sinistra del codice (dalla colonna CATEGORIA) è:
=INDICE(B3:E12;CONFRONTA(C14;C3:C12;0);1)
Come si vede nell’immagine qui sopra, a differenza di CERCA.VERT, è possibile cercare sia nelle colonne a sinistra (CATEGORIA), sia nelle colonne a destra (PREZZO UNITARIO).