=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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Stock | Look for | Price | |
| 2 | Apple | Fruit | $1.20 | 40 | Bread | $2.40 | |
| 3 | Pear | Fruit | $1.50 | 25 | |||
| 4 | Carrot | Vegetable | $0.80 | 60 | |||
| 5 | Bread | Bakery | $2.40 | 15 | |||
| 6 | Milk | Dairy | $1.10 | 30 |
=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])
| Argomento | Cosa fa | Predefinito |
|---|---|---|
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.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Category | Price | Stock |
| 2 | Apple | Fruit | $1.20 | 40 |
| 3 | Pear | Fruit | $1.50 | 25 |
| 4 | Carrot | Vegetable | $0.80 | 60 |
| 5 | Bread | Bakery | $2.40 | 15 |
| 6 | Milk | Dairy | $1.10 | 30 |
| 7 | Look for | Carrot | ||
| 8 | Result | Vegetable | $0.80 | 60 |
=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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Stock | Price | Product | |
| 2 | Apple | Fruit | $1.20 | 40 | $2.40 | Bread | |
| 3 | Pear | Fruit | $1.50 | 25 | |||
| 4 | Carrot | Vegetable | $0.80 | 60 | |||
| 5 | Bread | Bakery | $2.40 | 15 | |||
| 6 | Milk | Dairy | $1.10 | 30 |
=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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | First | Last | |
| 2 | 2026-03-02 | Ben | 120 | Ben | 120 | 60 | |
| 3 | 2026-03-05 | Ana | 80 | ||||
| 4 | 2026-03-09 | Ben | 45 | ||||
| 5 | 2026-03-12 | Cara | 200 | ||||
| 6 | 2026-03-20 | Ben | 60 | ||||
| 7 | 2026-03-24 | Ana | 95 |
=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.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Sales from | Rate | Rep | Sales | Rate | |
| 2 | 5000 | 5% | Ana | 750 | 0% | |
| 3 | 0 | 0% | Ben | 4,200 | 3% | |
| 4 | 10000 | 8% | Cara | 5,000 | 5% | |
| 5 | 1000 | 3% | Dev | 12,500 | 8% |
=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).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Contains | Price | |
| 2 | Green tea | Drinks | $3.20 | coffee | $2.90 | |
| 3 | Iced coffee | Drinks | $2.90 | |||
| 4 | Coffee beans | Pantry | $8.50 | |||
| 5 | Black tea | Drinks | $2.70 | |||
| 6 | Orange juice | Drinks | $3.40 |
=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.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar |
| 2 | North | 4,200 | 3,900 | 4,800 |
| 3 | South | 3,100 | 3,600 | 3,300 |
| 4 | East | 5,200 | 4,700 | 5,600 |
| 5 | West | 2,800 | 3,000 | 3,400 |
| 6 | Region | South | ||
| 7 | Month | Feb | ||
| 8 | Sales | 3,600 |
=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"
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Stock | Look for | Price | |
| 2 | Apple | Fruit | $1.20 | 40 | Kiwi | ||
| 3 | Pear | Fruit | $1.50 | 25 | |||
| 4 | Carrot | Vegetable | $0.80 | 60 | |||
| 5 | Bread | Bakery | $2.40 | 15 | |||
| 6 | Milk | Dairy | $1.10 | 30 |
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
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order from | Discount | Order | Discount | |
| 2 | $0 | 0% | $320 | ||
| 3 | $100 | 5% | |||
| 4 | $250 | 10% | |||
| 5 | $500 | 15% |
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!.