Menu

CONFRONTA.X in Excel: posizione, ultima corrispondenza

=CONFRONTA.X(E2;A2:A6) restituisce la posizione di E2 in A2:A6, con una corrispondenza esatta come predefinita. Può anche trovare il valore successivo più piccolo o più grande senza ordinare, cercare dal basso e usare i caratteri jolly.

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

=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.

Posizione di un prodotto
F2
ABCDEF
1ProductCategoryPriceLook forPosition
2AppleFruit$1.20Carrot3
3PearFruit$1.50
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =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])
ArgomentoValori
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.

La scatola più piccola che contiene l'oggetto
E2
ABCDE
1BoxHolds (liters)Item (liters)18
2S5Position4
3XL50BoxL
4M12
5L25
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =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.

L'ultimo ordine di un cliente
F2
ABCDEF
1DateCustomerAmountCustomerBen
22026-03-02Ben120Last position5
32026-03-05Ana80Last date2026-03-20
42026-03-09Ben45First position1
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: =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.

Trovare in base a uno schema
D2
ABCD
1ProductPatternPosition
2Green tea*coffee2
3Iced coffee?lack*4
4Coffee beans
5Black tea
6Orange juice
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =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

CONFRONTACONFRONTA.X
Predefinito quando la modalità è omessaApprossimata (1), i dati devono essere ordinatiEsatta
Valore successivo più piccolo1, dati in ordine crescente-1, qualsiasi ordine
Valore successivo più grande-1, dati in ordine decrescente1, qualsiasi ordine
Caratteri jollySempre attivi con 0Solo con modalità_confronto 2
Ultima corrispondenzaNomodalità_ricerca -1
VersioniTutteExcel 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

Ordini
F2
ABCDEF
1DateCustomerAmountCustomerBen
22026-03-02Ben120Last position
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.

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.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA