=CONFRONTA.X(E2;A2:A6) restituisce la posizione di E2 in A2:A6: 1 per la prima cella, 2 per la seconda. A differenza di CONFRONTA, cerca una corrispondenza esatta a meno che tu non indichi altro. CONFRONTA.X richiede Excel 2021 o Microsoft 365; nelle versioni precedenti usa CONFRONTA(E2;A2:A6;0). In Excel inglese si chiama XMATCH, ed è così che la mostra la tabella: =XMATCH(E2,A2:A6). Puoi scrivere le formule anche in italiano, con il punto e virgola.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | Position | |
| 2 | Apple | Fruit | $1.20 | Carrot | 3 | |
| 3 | Pear | Fruit | $1.50 | |||
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
=CONFRONTA.X(E2;A2:A6)Carrot è il terzo elemento, quindi F2 mostra 3. Scrivi Kiwi e restituisce #N/D (in inglese #N/A, come lo mostra la tabella). Come ogni ricerca di Excel, ignora maiuscole e minuscole.
Sintassi di CONFRONTA.X
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
| Argomento | Valori |
|---|---|
match_mode (modalità_confronto) | 0 esatta (predefinita), -1 esatta o la successiva più piccola, 1 esatta o la successiva più grande, 2 corrispondenza con caratteri jolly |
search_mode (modalità_ricerca) | 1 dal primo elemento (predefinita), -1 dall'ultimo elemento, 2 ricerca binaria crescente, -2 ricerca binaria decrescente |
Le modalità binarie sono più veloci su elenchi ordinati molto grandi e restituiscono posizioni sbagliate su quelli non ordinati. Le altre modalità funzionano su dati in qualsiasi ordine.
Il successivo più piccolo o più grande, senza ordinare
modalità_confronto 1 trova il valore più piccolo maggiore o uguale al valore cercato. Risponde a "la scatola più piccola che basta" anche quando le misure sono elencate senza un ordine. Con CONFRONTA ti servirebbe l'elenco ordinato dal più grande al più piccolo.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Box | Holds (liters) | Item (liters) | 18 | |
| 2 | S | 5 | Position | 4 | |
| 3 | XL | 50 | Box | L | |
| 4 | M | 12 | |||
| 5 | L | 25 |
=CONFRONTA.X(E1;B2:B5;1)Le misure che contengono 18 litri sono 25 e 50, e la più piccola è 25, il quarto elemento, la scatola L. Cambia E1 in 12 per una corrispondenza esatta (M) o in 40 per XL. modalità_confronto -1 è l'opposto: il valore più grande minore o uguale al valore cercato, la regola degli scaglioni fiscali e delle fasce di provvigione. CERCA.X ha le stesse due modalità e restituisce direttamente il valore.
Cercare dall'ultimo elemento
modalità_ricerca -1 parte dal basso, quindi CONFRONTA.X restituisce la posizione dell'ultima corrispondenza. Le posizioni contano comunque dall'alto dell'intervallo.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | 5 | |
| 3 | 2026-03-05 | Ana | 80 | Last date | 2026-03-20 | |
| 4 | 2026-03-09 | Ben | 45 | First position | 1 | |
| 5 | 2026-03-12 | Cara | 200 | |||
| 6 | 2026-03-20 | Ben | 60 | |||
| 7 | 2026-03-24 | Ana | 95 |
=CONFRONTA.X(F1;B2:B7;0;-1)Ben compare nelle posizioni 1, 3 e 5. La ricerca in avanti restituisce 1 e quella all'indietro restituisce 5, il suo ordine del 2026-03-20. Prima di CONFRONTA.X, l'ultima posizione richiedeva un trucco con le matrici: =CONFRONTA(2;1/(B2:B7=F1)).
I caratteri jolly richiedono modalità_confronto 2
Con modalità_confronto 2, * sta per caratteri qualsiasi e ? per esattamente uno. Nelle altre modalità sono caratteri normali, mentre CONFRONTA li tratta come caratteri jolly ogni volta che il tipo di corrispondenza è 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Pattern | Position | |
| 2 | Green tea | *coffee | 2 | |
| 3 | Iced coffee | ?lack* | 4 | |
| 4 | Coffee beans | |||
| 5 | Black tea | |||
| 6 | Orange juice |
=CONFRONTA.X(C2;A2:A6;2)*coffee (qualsiasi cosa che finisca con "coffee") corrisponde a Iced coffee in posizione 2, e ?lack* corrisponde a Black tea in posizione 4. Coffee beans non corrisponde a *coffee, perché lo schema non ha un * alla fine. Senza modalità_confronto 2 lo stesso schema viene cercato come testo letterale, quindi in Excel questa formula restituisce #N/D:
=XMATCH("*coffee", A2:A6) #N/A: no cell is literally "*coffee"
=XMATCH("*coffee", A2:A6, 2) 2
In Excel italiano la seconda è =CONFRONTA.X("*coffee";A2:A6;2).
CONFRONTA.X e CONFRONTA a confronto
| CONFRONTA | CONFRONTA.X | |
|---|---|---|
| Predefinito quando la modalità è omessa | Approssimata (1), i dati devono essere ordinati | Esatta |
| Valore successivo più piccolo | 1, dati in ordine crescente | -1, qualsiasi ordine |
| Valore successivo più grande | -1, dati in ordine decrescente | 1, qualsiasi ordine |
| Caratteri jolly | Sempre attivi con 0 | Solo con modalità_confronto 2 |
| Ultima corrispondenza | No | modalità_ricerca -1 |
| Versioni | Tutte | Excel 2021 e Microsoft 365 |
I segni sono invertiti: il -1 di CONFRONTA trova il valore successivo più grande e il -1 di CONFRONTA.X il successivo più piccolo. Quando converti CONFRONTA(E2;A2:A6;0) in CONFRONTA.X, togli lo 0; quando converti un CONFRONTA approssimato, inverti il segno e l'ordinamento non conta più. La pagina su CONFRONTA spiega la funzione più vecchia.
Esercizio: la posizione dell'ultimo ordine
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | ||
| 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 |
Tocca a te: In F2, restituisci la posizione dell'ultimo ordine del cliente in F1.
Domande frequenti
Che differenza c'è tra CONFRONTA e CONFRONTA.X?
CONFRONTA.X ha come predefinita la corrispondenza esatta (CONFRONTA quella approssimata), trova il valore successivo più piccolo o più grande senza bisogno di dati ordinati, può cercare dall'ultimo elemento verso l'alto, e tratta * e ? come caratteri jolly solo quando lo chiedi con modalità_confronto 2. Richiede Excel 2021 o Microsoft 365.
Come si trova l'ultima occorrenza con CONFRONTA.X?
Imposta modalità_ricerca, il quarto argomento, a -1: =CONFRONTA.X("Ben";B2:B7;0;-1) restituisce la posizione dell'ultimo Ben in B2:B7. Le posizioni contano comunque dall'alto dell'intervallo.
Cosa restituisce CONFRONTA.X se nulla corrisponde?
#N/D, come CONFRONTA. Racchiudila in SE.NON.DISP. per mostrare altro: =SE.NON.DISP.(CONFRONTA.X(E2;A2:A6);"Not in list").
CONFRONTA.X può sostituire CONFRONTA dentro INDICE?
Sì. =INDICE(C2:C6;CONFRONTA.X(E2;A2:A6)) funziona come INDICE con CONFRONTA(E2;A2:A6;0), senza nessuno 0 da dimenticare. Usa invece CONFRONTA quando il file deve aprirsi in Excel 2019 o versioni precedenti.