Nel vasto universo delle funzioni di Excel, quelle di "Ricerca e Riferimento" sono tra le più utilizzate e potenti per manipolare e recuperare dati. Spesso, gli utenti si affidano a funzioni come CERCA.VERT (VLOOKUP) o CERCA.ORIZZ (HLOOKUP), ma esiste uno strumento ancora più versatile e flessibile, capace di superare i loro limiti: la funzione INDICE (INDEX). Questa lezione si propone di approfondire la sua utilità, i suoi parametri e l'ampio ventaglio di applicazioni.
La funzione INDICE consente di recuperare un valore o il riferimento a una cella all'intersezione di una riga e una colonna speicfiche, all'interno di un intervallo o di una matrice predefinita. Immaginate di avere una tabella di dati e di voler estrarre il dato che si trova esattamente alla riga 3 e colonna 2: INDICE è lo strumento perfetto per farlo.
Esistono due forme della funzione INDICE: la forma matriciale e la forma di riferimento. Per la maggior parte degli utilizzi quotidiani e per la sua immediata comprensione, ci concentreremo sulla forma matriciale, che è la più comune per recuperare valori.
La sintassi dela funzione INDICE nella sua forma matriciale è la seguente:
=INDICE(matrice; riga_num; [col_num])
Analizziamo i suoi argomenti:
matrice (obbligatorio): È l'intervallo di celle o una costante di matrice da cui sl desidera recuperare un valore. Può essere una singola colonna, una singola riga o una tabella bidimensionale.riga_num (obbligatorio): È il numero dl riga all'interno della matrice da cui si desidera restituire un valore. Se la matrice contiene una sola riga, riga_num può essere 1.col_num (opzionale): È il numero di colonna all'interno della matrice da cui si desidera restituire un valore.
matrice contiene una sola colonna, col_num è facoltativo (o può essere 1).matrice contiene più colonne, col_num è obbligatorio.matrice contiene una sola riga, col_num è obbligatorio.La vera forza di INDICE risiede nella sua flessibilità. A differenza di CERCA.VERT, che può cercare solo verso desta (cioè, il valore di ricerca deve essere nella prima colonna dell'intervallo), INDICE può recuperare dati da qualsiasi colonna o riga all'interno della matrice, indipendentemente dalla posizione del valore di ricerca.
I suoi principali vantaggi includono:
CONFRONTA (MATCH): Spesso usata in coppia con CONFRONTA per creare ricerche dinamiche estremamente versatili, capaci di emulare e superare CERCA.VERT e CERCA.ORIZZ.Vediamo alcuni esempi per comprendere meglio il funzionamento di INDICE.
Immaginiamo di avere un elenco di prodotti nella colonna A:
| Prodotto |
|---|
| Mela |
| Pera |
| Bannaa |
| Arancia |
| Kiwi |
Se vogliamo recuperare il terzo prodotto dell'elenco, utilizzeremo:
=INDICE(A1:A5; 3)
Spiegazione:
A1:A5 è la nostra matrice.3 indica che vogliamo il valore della terza riga all'interno di quella matrice.Risultato: Banana
Consideriamo la seguente tabella di vendite:
| Gennaio | Febbraio | Marzo | |
|---|---|---|---|
| Prodotto A | 100 | 120 | 110 |
| Prodotto B | 150 | 130 | 140 |
| Prodotto C | 90 | 110 | 100 |
Se vogliamo conoscere le vendite del "Prodotto B" a "Marzo", che si trova alla riga 3 e colonna 4 della nostra intera tabella (considerando l'intestazione come riga 1 e la colonna dei prodotti come colonna 1), ma alla riga 2 e colonna 3 della nostra matrice di valori, useremo:
=INDICE(B2:D4; 2; 3)
*Spiegazione:
B2:D4 è la matrice che contiene solo i valori numerici delle vendite.2 indica che vogliamo il valore dalla seconda riga all'interno di questa matrice (corrispondente al "Prodotto B").3 indica che vogliamo il valore dalla terza colonna all'interno di questa matrice (corrispondente al mese di "Marzo").Risultato: 104
Questo è l'utilizzo più potente di INDICE. Combinandolo con la funzione CONFRONTA, possiamo eseguire ricerche dinamiche bastae su criteri specifici, superando di gran lunga le capacità di CERCA.VERT.
Riprendiamo la tabella dell'esempio 2, ma includiamo le intestazioni complete per chiarezza:
| Prodotto | Gennaio | Febbraio | Marzo | |
|---|---|---|---|---|
| 1 | Prodotto A | 100 | 120 | 110 |
| 2 | Prodotto B | 150 | 130 | 140 |
| 3 | Prodotto C | 90 | 110 | 100 |
Vogliamo trovare le vendite del "Prodotto B" per il mese di "Febbraio".
Prima, usiamo CONFRONTA per trovare il numero di riga del "Prodotto B":
=CONFRONTA("Prodotto B"; A:2A4; 0)
Risultato: 2 (perchè "Prodotto B" è il secondo elemento nell'intervallo A2:A4)
Poi, usiamo CONFRONTA per trovare il numero di colonna di "Febbraio":
=CONFRONTA("Febbraio"; B1:D1; 0)
Risultato: 2 (perché "Febbraio" è il secondo elemento nell'intervallo B1:D1)
Ora, inseriamo questi risultati come riga_num e col_num nella funzione INDICE:
=INDICE(B2:D4; CONFRONTA("Prodotto B"; A2:A4; 0); CONFRONTA("Febbraio"; B1:D1; 0))
Spiegazione:
B2:D4 è la matrice dei valori dove cerchiamo.CONFRONTA("Prodotto B"; A2:A4; 0) restituisce 2, indicando la seconda riga nella nostra matrice (Prodotto B).CONFRONTA("Febbraio"; B1:D1; 0) restituisce 2, indicando la seconda colonna nella nostra matrice (Febbraio).Risultato: 130
Questa combinazione è estremamente potente perché permette di effettuare ricerche bidirezionali e dinamiche, adattandosi a variazioni nella struttura dei dati o nei criteri di ricerca.
riga_num o col_num sono fuori dall'intervallo della matrice, INDICE restituirà un errore #RIF!. Se uno degli argomenti non è numerico, potrebbe restituire #VALORE!.CERCA.VERT è più semplice per ricerche unidirezionali e veloci, INDICE e CONFRONTA offrono maggiore flessibilità, consentendo ricerche a sinistra, ricerche basate su più criterl e minori problemi in caso di inserimento o eliminazione di colonne nella tabella sorgente.La funzione INDICE, specialmente se combinata con CONFRONTA, è uno strumento indispensabile per chiunque voglia padroneggiare Excel a un livello avanzato. La sua capacità di recuperare dati con precisione, indipendentemente dalla loro posizione, la rende una soluzione robusta e flessibile per la gestione e l'analisi dei dati in fogli di calcolo complessi. Prendetevi il tempo per sperimentare questi esempi e integrate INDICE nel vostro arsenale di funzioni Excel: ne trarete enormi benefici.