Menu

INDICE e CONFRONTA in Excel: ricerca a sinistra e a due vie

=INDICE(C2:C6;CONFRONTA(F2;A2:A6;0)) trova la riga di F2 nella colonna A e restituisce il valore di quella riga nella colonna C. Cerca verso sinistra, fa ricerche bidimensionali e funziona in ogni versione di Excel.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

=INDICE(C2:C6;CONFRONTA(F2;A2:A6;0)) trova la riga in cui F2 compare in A2:A6 e restituisce il valore della stessa riga di C2:C6. CONFRONTA (in inglese MATCH) trova la posizione, INDICE (in inglese INDEX) prende il valore in quella posizione. Funziona in ogni versione di Excel, e può cercare verso sinistra. La tabella mostra la formula in inglese, =INDEX(C2:C6,MATCH(F2,A2:A6,0)), ma puoi scriverla anche in italiano, con il punto e virgola.

Prezzo di un prodotto
G2
ABCDEFG
1ProductCategoryPriceCodeLook forPrice
2AppleFruit$1.20P-101Pear$1.50
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =INDICE(C2:C6;CONFRONTA(F2;A2:A6;0))

Cambia F2 in Milk e G2 restituisce $1.10. Cambia C2:C6 in B2:B6 e restituisce invece la categoria.

Come lavorano insieme INDICE e CONFRONTA

La formula fa due passaggi in una sola cella. Qui sono in celle separate, così puoi vedere cosa restituisce ciascuna parte.

I due passaggi, uno per cella
G3
ABCDEFG
1ProductCategoryPriceCodeLook forBread
2AppleFruit$1.20P-101Position4
3PearFruit$1.50P-102Price$2.40
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =INDICE(C2:C6;G2)

CONFRONTA(G1;A2:A6;0) restituisce 4, perché Bread è il quarto elemento di A2:A6. INDICE(C2:C6;4) restituisce il quarto elemento di C2:C6, $2.40. Metti CONFRONTA dentro INDICE al posto di G2 e hai la formula in una sola cella. Due regole la fanno funzionare:

  • I due intervalli devono iniziare sulla stessa riga e avere la stessa altezza. CONFRONTA(...;A2:A6;0) conta dalla riga 2, quindi INDICE deve leggere C2:C6, non C1:C6 (che restituirebbe la riga sopra).
  • Termina CONFRONTA con 0. Senza, CONFRONTA fa una corrispondenza approssimata che presuppone la colonna A ordinata, e su un elenco di nomi può restituire la posizione della riga sbagliata. La pagina su CONFRONTA spiega i suoi tre tipi di corrispondenza.

Se il valore non è nell'elenco, CONFRONTA restituisce #N/D (in inglese #N/A, come lo mostra la tabella), e così l'intera formula. =SE.NON.DISP.(INDICE(C2:C6;CONFRONTA(F2;A2:A6;0));"Not found") mostra invece un testo.

Ricerca verso sinistra

CERCA.VERT restituisce colonne a destra di quella in cui cerca. INDICE e CONFRONTA non badano all'ordine: cerca nella colonna D, restituisci la colonna A.

Nome del prodotto dal suo codice
G2
ABCDEFG
1ProductCategoryPriceCodeCodeProduct
2AppleFruit$1.20P-101P-310Bread
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =INDICE(A2:A6;CONFRONTA(F2;D2:D6;0))

P-310 restituisce Bread. Scrivi P-205 in F2 per avere Carrot. Con CERCA.VERT dovresti prima spostare la colonna Code all'inizio della tabella.

Ricerca bidimensionale: INDICE con due CONFRONTA

INDICE accetta un numero di riga e un numero di colonna. Dagli un'intera tabella e lascia che un CONFRONTA trovi la riga e un altro trovi la colonna.

Vendite per regione e mese
B8
ABCD
1RegionJanFebMar
2North4,2003,9004,800
3South3,1003,6003,300
4East5,2004,7005,600
5West2,8003,0003,400
6RegionEast
7MonthMar
8Sales5,600
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =INDICE(B2:D5;CONFRONTA(B6;A2:A5;0);CONFRONTA(B7;B1:D1;0))

East è la riga 3 di A2:A5 e Mar è la colonna 3 di B1:D1, quindi INDICE restituisce la riga 3, colonna 3 di B2:D5: 5,600. Il CONFRONTA della riga cerca lungo la prima colonna, il CONFRONTA della colonna cerca lungo la riga delle intestazioni, ed entrambi gli intervalli sono allineati con la tabella B2:D5. In Excel italiano la formula è =INDICE(B2:D5;CONFRONTA(B6;A2:A5;0);CONFRONTA(B7;B1:D1;0)).

Perché INDICE e CONFRONTA batte CERCA.VERT

=VLOOKUP(F2, A2:D6, 3, FALSE)
=INDEX(C2:C6, MATCH(F2, A2:A6, 0))

In Excel italiano: =CERCA.VERT(F2;A2:D6;3;FALSO) e =INDICE(C2:C6;CONFRONTA(F2;A2:A6;0)). Entrambe restituiscono il prezzo. La differenza emerge quando il foglio cambia:

  • Inserire una colonna. Inserisci una colonna tra Category e Price, e CERCA.VERT chiede ancora la colonna 3, che ora è la nuova colonna vuota. Nella versione con INDICE Excel adatta C2:C6 in D2:D6 e la formula continua a funzionare.
  • Cercare a sinistra. Mostrato sopra: CERCA.VERT non può, INDICE e CONFRONTA sì.

In Excel 2021 e Microsoft 365, CERCA.X fa entrambe le cose in una sola funzione con argomenti più semplici. INDICE e CONFRONTA restano la scelta per i file che devono aprirsi in Excel 2019 o versioni precedenti, e la parte INDICE è utile anche da sola. Per le ricerche su due condizioni insieme, vedi la ricerca con più criteri.

Esercizio: cerca verso sinistra

Esportazione del magazzino
G2
ABCDEFG
1CodePriceStockProductLook forPrice
2P-101$1.2040AppleMilk
3P-102$1.5025Pear
4P-205$0.8060Carrot
5P-310$2.4015Bread
6P-412$1.1030Milk
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: I nomi dei prodotti sono nell'ultima colonna. In G2, restituisci il prezzo del prodotto in F2 con INDICE e CONFRONTA.

Esercizio: una ricerca bidimensionale

Voti dei test
B9
ABCD
1StudentMathScienceArt
2Ana788592
3Ben647188
4Cara958973
5Dev826779
6
7StudentCara
8SubjectScience
9Score
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: In B9, restituisci il voto dello studente in B7 per la materia in B8.

Domande frequenti

Come funziona INDICE e CONFRONTA?

CONFRONTA trova la posizione di un valore in una colonna, e INDICE restituisce il valore in quella posizione in un'altra colonna. In =INDICE(C2:C6;CONFRONTA("Pear";A2:A6;0)), CONFRONTA restituisce 2 perché Pear è il secondo elemento di A2:A6, e INDICE restituisce il secondo elemento di C2:C6.

Perché usare INDICE e CONFRONTA invece di CERCA.VERT?

Può restituire una colonna a sinistra di quella in cui cerca, e non si rompe quando si inserisce una colonna dentro la tabella (non c'è un numero di colonna che diventa vecchio). In Excel 2021 e Microsoft 365, CERCA.X offre gli stessi vantaggi in una sola funzione.

Cosa significa lo 0 in CONFRONTA?

Chiede una corrispondenza esatta. Senza di esso CONFRONTA usa il tipo 1, una corrispondenza approssimata che si aspetta la colonna ordinata in modo crescente, e su un elenco non ordinato può restituire la posizione della riga sbagliata.

Come si fa una ricerca bidimensionale con INDICE e CONFRONTA?

Dai a INDICE un'intera tabella e due CONFRONTA, uno per la riga e uno per la colonna: =INDICE(B2:D5;CONFRONTA("South";A2:A5;0);CONFRONTA("Feb";B1:D1;0)) restituisce il valore all'incrocio tra la riga South e la colonna Feb.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA