Menu

CERCA.X in Excel: formula, esempi e modalità (XLOOKUP)

=CERCA.X(F2;A2:A6;C2:C6) cerca F2 in A2:A6 e restituisce il valore nella stessa riga di C2:C6. Testo quando non trova nulla, più colonne insieme, ricerche verso sinistra, ultima corrispondenza, corrispondenza approssimata e con caratteri jolly.

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

=CERCA.X(F2;A2:A6;C2:C6) cerca il valore di F2 in A2:A6 e restituisce il valore della stessa riga di C2:C6. Per impostazione predefinita cerca una corrispondenza esatta, la colonna di ricerca può stare ovunque, e richiede Excel 2021 o Microsoft 365 (in Excel 2019 e versioni precedenti usa INDICE e CONFRONTA). Cerca x in Excel inglese si chiama XLOOKUP, ed è così che la mostra la tabella: =XLOOKUP(F2,A2:A6,C2:C6). Puoi scrivere le formule anche in italiano, con il punto e virgola. Scrivi un altro prodotto in F2.

Prezzo di un prodotto
G2
ABCDEFG
1ProductCategoryPriceStockLook forPrice
2AppleFruit$1.2040Bread$2.40
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CERCA.X(F2;A2:A6;C2:C6)

Fai clic su G2: l'intervallo di ricerca e l'intervallo da restituire vengono evidenziati separatamente. Cambia C2:C6 in B2:B6 e G2 restituisce la categoria. Non c'è nessun numero di colonna da contare, quindi inserire una colonna tra A e C non rompe la formula: Excel sposta entrambi gli intervalli.

Sintassi di CERCA.X

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
ArgomentoCosa faPredefinito
lookup_value (valore)Il valore da trovare.obbligatorio
lookup_array (matrice_ricerca)La colonna (o riga) in cui cercare.obbligatorio
return_array (matrice_restituita)La colonna, la riga o il blocco da cui restituire. Alta quanto lookup_array.obbligatorio
if_not_found (se_non_trovato)Cosa mostrare quando nulla corrisponde.#N/D
match_mode (modalità_confronto)0 esatta, -1 esatta o la successiva più piccola, 1 esatta o la successiva più grande, 2 caratteri jolly.0
search_mode (modalità_ricerca)1 dal primo all'ultimo, -1 dall'ultimo al primo, 2 e -2 ricerca binaria su dati ordinati.1

Solo i primi tre sono obbligatori. Per saltare un argomento facoltativo e impostarne uno successivo, lascialo vuoto tra due separatori: =CERCA.X(F2;A2:A6;C2:C6;;0;-1) imposta modalità_ricerca e lascia se_non_trovato al suo valore predefinito.

Restituire più colonne insieme

Dai a CERCA.X un intervallo da restituire largo più colonne e torna l'intera riga. Il risultato si espande nelle celle accanto alla formula.

Tutti i campi di un prodotto
B8
ABCD
1ProductCategoryPriceStock
2AppleFruit$1.2040
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
7Look forCarrot
8ResultVegetable$0.8060
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CERCA.X(B7;A2:A6;B2:D6)

Una sola formula in B8 riempie B8:D8 con Vegetable, $0.80 e 60. Scrivi qualcosa in C8 e B8 mostra #ESPANSIONE! (in inglese #SPILL!, come lo mostra la tabella), perché il risultato non ha spazio; cancellalo e il risultato torna. Per restituire le colonne in un altro ordine, racchiudi l'intervallo da restituire in SCEGLI.COL (in inglese CHOOSECOLS): =CERCA.X(B7;A2:A6;SCEGLI.COL(B2:D6;3;1)) dà Stock, poi Category.

CERCA.X verso sinistra, e un messaggio quando nulla corrisponde

La colonna di ricerca non deve per forza venire per prima. Qui CERCA.X cerca i prezzi nella colonna C e restituisce il nome del prodotto dalla colonna A, cosa che CERCA.VERT non può fare. Il quarto argomento dice cosa mostrare quando nessun prodotto ha quel prezzo.

Quale prodotto costa tanto?
G2
ABCDEFG
1ProductCategoryPriceStockPriceProduct
2AppleFruit$1.2040$2.40Bread
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CERCA.X(F2;C2:C6;A2:A6;"No product")

$2.40 restituisce Bread. Cambia F2 in 3 e G2 mostra "No product" invece di #N/D (in inglese #N/A). "" come quarto argomento mostra una cella che sembra vuota. se_non_trovato copre solo il "non trovato": un intervallo da restituire di altezza sbagliata dà comunque #VALORE! (in inglese #VALUE!), ed è proprio ciò che vuoi vedere.

Trovare l'ultima corrispondenza

CERCA.X restituisce la prima corrispondenza dall'alto. Imposta modalità_ricerca, il sesto argomento, a -1 e cerca dal basso, quindi restituisce l'ultima corrispondenza: l'ordine più recente, il prezzo più recente, l'ultimo stato.

Primo e ultimo ordine di un cliente
G2
ABCDEFG
1DateCustomerAmountCustomerFirstLast
22026-03-02Ben120Ben12060
32026-03-05Ana80
42026-03-09Ben45
52026-03-12Cara200
62026-03-20Ben60
72026-03-24Ana95
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CERCA.X(E2;B2:B7;C2:C7;;0;-1)

Il primo ordine di Ben è 120 e l'ultimo è 60. Cambia E2 in Ana: 80 e 95. Questo funziona solo se le righe sono in ordine di data. Se non lo sono, cerca invece la data più recente del cliente: =CERCA.X(1;(B2:B7=E2)*(A2:A7=MAX.PIÙ.SE(A2:A7;B2:B7;E2));C2:C7).

Corrispondenza approssimata: il successivo più piccolo o più grande

modalità_confronto -1 restituisce una corrispondenza esatta oppure, se non c'è, il valore immediatamente più piccolo. È la regola per le fasce: un livello di provvigione, uno scaglione fiscale, un voto. A differenza di CERCA.VERT con VERO, la tabella non deve essere ordinata. Le fasce qui sotto sono volutamente in ordine sparso.

Percentuale di provvigione in base alle vendite
F2
ABCDEF
1Sales fromRateRepSalesRate
250005%Ana7500%
300%Ben4,2003%
4100008%Cara5,0005%
510003%Dev12,5008%
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CERCA.X(E2;$A$2:$A$5;$B$2:$B$5;;-1)

I 4.200 di Ben cadono tra 1.000 e 5.000, quindi riceve il 3% della fascia 1.000. I 5.000 di Cara sono una corrispondenza esatta, 5%. modalità_confronto 1 funziona al contrario, esatta o la successiva più grande, e risponde a "la scatola più piccola che basta" o "la prossima fascia di consegna": =XLOOKUP(18,{5;12;25;50},{"S";"M";"L";"XL"},,1) (forma inglese) restituisce L.

CERCA.X con caratteri jolly

modalità_confronto 2 trasforma * (caratteri qualsiasi) e ? (un carattere) in caratteri jolly. Senza di essa CERCA.X cerca i caratteri stessi, l'opposto di CERCA.VERT (la cui corrispondenza esatta accetta i caratteri jolly), ed è il motivo abituale per cui una CERCA.X con caratteri jolly restituisce #N/D o il suo testo se_non_trovato:

=XLOOKUP("*coffee*",A2:A6,C2:C6,"None")      None: no product is named *coffee*
=XLOOKUP("*coffee*",A2:A6,C2:C6,"None",2)    2.9, the price of Iced coffee

In Excel italiano: =CERCA.X("*coffee*";A2:A6;C2:C6;"None") e =CERCA.X("*coffee*";A2:A6;C2:C6;"None";2).

Il primo prodotto il cui nome contiene il testo
F2
ABCDEF
1ProductCategoryPriceContainsPrice
2Green teaDrinks$3.20coffee$2.90
3Iced coffeeDrinks$2.90
4Coffee beansPantry$8.50
5Black teaDrinks$2.70
6Orange juiceDrinks$3.40
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =CERCA.X("*"&E2&"*";A2:A6;C2:C6;"None";2)

"coffee" trova per primo Iced coffee, $2.90. Aggiungi -1 come sesto argomento e trova Coffee beans, $8.50. Come ogni ricerca di Excel, la corrispondenza ignora maiuscole e minuscole. Per trovare un vero asterisco o punto interrogativo in modalità_confronto 2, mettici davanti una tilde: "~*".

CERCA.X bidimensionale

Una CERCA.X che restituisce un'intera riga può essere l'intervallo da restituire di una seconda CERCA.X. Quella interna sceglie la riga in base alla regione, quella esterna sceglie da quella riga la colonna del mese.

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

CERCA.X(B6;A2:A5;B2:D5) restituisce la riga di South, 3100, 3600 e 3300. La CERCA.X esterna trova Feb in B1:D1 e prende il valore corrispondente da quella riga: 3,600. Scegli un'altra regione e un altro mese in B6 e B7. La versione con INDICE e CONFRONTA della stessa ricerca è nella pagina INDICE e CONFRONTA.

CERCA.X nelle versioni precedenti di Excel e in Fogli Google

CERCA.X esiste in Excel 2021, Excel 2024, Microsoft 365, Excel per il Web e nelle app per dispositivi mobili. Se apri un file che la usa in Excel 2019 o versioni precedenti, le formule mostrano #NOME? (in inglese #NAME?) appena vengono ricalcolate. Quando un file deve funzionare ovunque, scrivi la ricerca con INDICE e CONFRONTA, che ogni versione capisce:

=XLOOKUP(F2, A2:A6, C2:C6, "Not found")
=IFNA(INDEX(C2:C6, MATCH(F2, A2:A6, 0)), "Not found")

In Excel italiano: =CERCA.X(F2;A2:A6;C2:C6;"Not found") e =SE.NON.DISP.(INDICE(C2:C6;CONFRONTA(F2;A2:A6;0));"Not found"). Fogli Google ha XLOOKUP dal 2022, con gli stessi argomenti. Per un confronto punto per punto delle differenze, vedi CERCA.VERT e CERCA.X a confronto. Per cercare in base a due colonne insieme (prodotto e formato, nome e data), lo schema =CERCA.X(1;(B2:B6=E2)*(C2:C6=F2);D2:D6) è spiegato nella pagina sulla ricerca con più criteri.

Esercizio: un prezzo, oppure "Not found"

Listino prezzi
G2
ABCDEFG
1ProductCategoryPriceStockLook forPrice
2AppleFruit$1.2040Kiwi
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: In G2, restituisci il prezzo del prodotto in F2, oppure il testo Not found quando non è nell'elenco.

Esercizio: sconto in base all'importo dell'ordine

Fasce di sconto
E2
ABCDE
1Order fromDiscountOrderDiscount
2$00%$320
3$1005%
4$25010%
5$50015%
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: Ogni sconto vale a partire dal suo importo d'ordine. In E2, usa CERCA.X per restituire lo sconto per l'importo dell'ordine in D2.

Domande frequenti

Come si usa CERCA.X in Excel?

Indica tre argomenti: cosa trovare, la colonna in cui cercare e la colonna da restituire. =CERCA.X("Pear";A2:A6;C2:C6) trova Pear in A2:A6 e restituisce il valore della stessa riga di C2:C6. Cerca una corrispondenza esatta, a meno che tu non indichi altro.

Quali versioni di Excel hanno CERCA.X?

Excel 2021, Excel 2024, Microsoft 365 ed Excel per il Web. In Excel 2019 e versioni precedenti la formula mostra #NOME?; lì usa =INDICE(C2:C6;CONFRONTA(F2;A2:A6;0)). Anche Fogli Google ha XLOOKUP.

Come faccio a far restituire a CERCA.X una cella vuota o un testo invece di #N/D?

Usa il quarto argomento, se_non_trovato: =CERCA.X(F2;A2:A6;C2:C6;"Not found"), oppure "" per una cella che sembra vuota. Sostituisce solo il caso "non trovato"; gli altri errori restano visibili.

Come si trova l'ultima corrispondenza con CERCA.X?

Imposta il sesto argomento, modalità_ricerca, a -1, così la ricerca va dal basso verso l'alto: =CERCA.X("Ben";B2:B7;C2:C7;;0;-1) restituisce l'ultimo importo di Ben invece del primo.

CERCA.X può restituire più di una colonna?

Sì. Dagli un intervallo da restituire largo più colonne, come =CERCA.X(F2;A2:A6;B2:D6), e il risultato si espande nelle celle a lato. Le celle in cui si espande devono essere vuote, altrimenti Excel mostra #ESPANSIONE!.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA