XLOOKUP vs INDEX-MATCH in Excel (tutti i confronti possibili)

  • Condividi Questo
Hugh West

Oggi farò un'analisi comparativa di XLOOKUP vs Funzioni di INDEX-MATCH in Excel Nelle versioni precedenti di Excel , usavamo il metodo HLOOKUP , il VLOOKUP , e il ACCOPPIAMENTO DEGLI INDICI per cercare un valore specifico in un intervallo di celle. Tuttavia, con l'avvento delle funzioni di Office 365 Excel ci ha messo a disposizione una nuova funzione dinamica chiamata XLOOKUP per eseguire un'operazione simile in modo più sofisticato. In questo articolo cercherò di confrontare le funzioni più utilizzate, le funzioni XLOOKUP e il ACCOPPIAMENTO DI INDICI .

Scarica il quaderno di esercizi

Per una migliore comprensione, procuratevi questo file di esempio.

Funzioni XLOOKUP vs INDEX-MATCH.xlsx

Introduzione alla funzione XLOOKUP

Il XLOOKUP viene utilizzata per trovare un valore specifico all'interno di un intervallo di celle o di una matrice e restituisce la prima corrispondenza corrispondente. Mostra anche la corrispondenza più vicina o approssimativa quando non c'è una corrispondenza esatta.

Sintassi:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])

Argomenti:

  • Valore_di_ricerca È il valore che si cerca in una colonna specifica dell'intervallo.
  • Matrice_di_ricerca È l'array in cui si cerca l'elemento valore_di_ricerca Può essere sia di riga che di colonna.
  • Matrice_di_ritorno: È la colonna da cui proviene il valore corrispondente dell'elemento valore_di_ricerca saranno restituiti.

Argomenti facoltativi:

  • Se_non_trovato È il valore che verrà restituito nel caso in cui l'opzione array_di_ricerca non ha il valore di ricerca.
  • Modalità_di_partita Si tratta di un numero che indica il tipo di corrispondenza dell'elemento valore_di_ricerca È un argomento opzionale che può contenere quattro valori.
  1. Quando è 0 , XLOOKUP cercherà una corrispondenza esatta (impostazione predefinita).
  2. Quando è 1 , XLOOKUP cercherà innanzitutto una corrispondenza esatta. Se non viene trovata una corrispondenza esatta, verrà cercata la corrispondenza con il valore successivo più piccolo.
  3. Quando è -1 , XLOOKUP cercherà innanzitutto una corrispondenza esatta. Se non viene trovata una corrispondenza esatta, verrà cercata la corrispondenza con il valore successivo più grande.
  4. Quando è 2 , XLOOKUP cercherà prima una corrispondenza approssimativa usando i caratteri jolly (applicabile solo ai valori di ricerca delle stringhe).
  • Modalità_di_ricerca È un numero che indica il tipo di operazione di ricerca condotta sulla matrice di lookup. Anche questo è facoltativo e può avere quattro valori:
  1. Se è 1 , XLOOKUP cercherà dall'alto verso il basso nella cartella array_di_ricerca (Predefinito).
  2. Quando è -1 , XLOOKUP cercherà dal basso verso l'alto nella cartella
  3. Se è 2 , XLOOKUP condurrà una ricerca binaria in ordine crescente.
  4. Quando è -2 , XLOOKUP condurrà una ricerca binaria in ordine decrescente.

Introduzione alle funzioni INDEX-MATCH

La combinazione di ACCOPPIAMENTO DEGLI INDICI viene utilizzata per recuperare un valore da una determinata posizione e confrontarlo con l'intervallo di origine.

Sintassi:

=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)

Argomenti:

Per la funzione INDICE:

  • Array Si tratta di un intervallo di celle da cui si vuole estrarre un valore.
  • MATCH(lookup_value,lookup_array,match_type): È il numero di riga dell'intervallo in cui si trova l'elemento valore_di_ricerca corrisponde a un valore specifico nel campo array_di_ricerca .
  • No_of_column: È il numero della colonna dell'array da cui si vuole restituire un valore corrispondente all'opzione valore_di_ricerca .

Per la funzione MATCH:

  • Valore_di_ricerca: È il valore che stiamo cercando.
  • Matrice_di_ricerca: È l'array in cui si cerca l'elemento valore_di_ricerca Può essere sia una riga che una colonna.
  • Tipo di partita: È un numero intero che indica il tipo di corrispondenza che stiamo cercando. È facoltativo.
  1. Quando è -1 , PARTITA cercherà innanzitutto una corrispondenza esatta. Nel caso in cui non venga trovata una corrispondenza esatta, cercherà il valore successivo più grande (Default) (in opposizione a XLOOKUP ).

Ma la condizione è che il array_di_ricerca deve essere ordinato in ordine crescente, altrimenti viene visualizzato un errore.

  1. Quando è 1 , PARTITA cercherà prima di tutto una corrispondenza esatta. Nel caso in cui non venga trovata una corrispondenza esatta, cercherà il valore successivo più piccolo (all'opposto di XLOOKUP ).

Ma la condizione è che il array_di_ricerca deve essere ordinato in ordine decrescente, altrimenti viene visualizzato un errore.

  1. Quando è 0 , PARTITA cercherà una corrispondenza esatta.

Per saperne di più: Come selezionare dati specifici in Excel (6 metodi)

7 Confronto tra gli usi delle funzioni XLOOKUP e INDEX-MATCH

Ora che abbiamo scomposto la formula, discutiamo di alcune somiglianze e dissomiglianze tra le due funzioni. Prima di passare alla discussione principale, per comodità vi mostro i punti principali in una tabella.

Punto di discussione Somiglianza/Dissimilarità Spiegazione
Colonna lookup_array Somiglianza Entrambi supportano una colonna come lookup_array.
Matrice di ricerca di righe Somiglianza Entrambi supportano una riga come lookup_array.
Nessuna corrispondenza di lookup_value Dissimilarità XLOOKUP ha l'opzione di impostazione predefinita per non abbinare il valore di ricerca, mentre INDEX-MATCH non ce l'ha.
Corrispondenza approssimativa Somiglianza parziale XLOOKUP può trovare il valore successivo più piccolo o più grande quando non c'è una corrispondenza esatta. Anche INDEX-MATCH può farlo, ma la matrice di lookup_array deve essere ordinata in ordine crescente o decrescente.
Abbinamento di caratteri jolly Somiglianza Entrambi supportano i caratteri jolly corrispondenti.
Corrispondenza di più valori Somiglianza parziale XLOOKUP può trovare il primo o l'ultimo valore quando più valori corrispondono, mentre INDEX-MATCH può restituire solo il primo valore corrispondente.
Formula della matrice Somiglianza Entrambi supportano la formula dell'array.

1. XLOOKUP e INDEX-MATCH per cercare il valore nella colonna

Sotto questo aspetto c'è una somiglianza tra le due funzioni: per la funzione XLOOKUP e il ACCOPPIAMENTO DEGLI INDICI , la matrice lookup_array può essere una colonna per entrambe le funzioni. In questo caso stiamo cercando l'esatto Voti in Fisica del nome dello studente in C F5 , Jennifer Marlo Volevamo cercare dall'alto verso il basso nel Nome dello studente e restituire " Non trovato " nel caso in cui non sia stata trovata alcuna corrispondenza.

  • Per XLOOKUP , applicare la formula in Cellula G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Per ACCOPPIAMENTO DI INDICI , utilizzare questa formula in Cellula G5 .
=INDICE(B5:D16, MATCH(F5,C5:C16,0),3)

Per saperne di più: Come abbinare più criteri da array diversi in Excel

2. XLOOKUP e INDEX-MATCH per cercare il valore nella riga

Anche sotto questo aspetto c'è una somiglianza tra le due funzioni: per la funzione XLOOKUP e il ACCOPPIAMENTO DI INDICI , il array_di_ricerca può anche essere una riga per entrambe le funzioni. A titolo di esempio, abbiamo un nuovo set di dati con la funzione ID , Nomi , e Voti in Fisica e Gradi .

Consideriamo per un attimo che si tratta di un insieme di dati molto ampio e che non sappiamo quale sia il numero dei Grado Poi, per scoprire il voto di un particolare studente, dobbiamo usare la colonna Riga di intestazione (B4:E4) come matrice di ricerca e la parola " Grado " come il valore_di_ricerca Si può ottenere questo risultato utilizzando sia l'opzione XLOOKUP e il ACCOPPIAMENTO DI INDICI .

  • Per scoprire il grado del 3° studente , il XLOOKUP La formula sarà come questa in Cellula G5 .
=XLOOKUP("Grado",B4:E4,B7:E7, "Non trovato",0,1)

  • Per questo caso, il ACCOPPIAMENTO DI INDICI formula sarà:
=INDEX(B5:E16,3,MATCH("Grado",B4:E4,0))

3. XLOOKUP e INDEX-MATCH quando non viene trovata alcuna corrispondenza

Le due funzioni sono dissimili sotto questo aspetto. Se il valore di lookup_value non corrisponde a nessun valore della cartella array_di_ricerca è possibile impostare un valore fisso da restituire in XLOOKUP Per fare ciò, è necessario impostare il valore nel file se_non_trovato D'altra parte, non c'è questa opzione in ACCOPPIAMENTO DEGLI INDICI Il risultato sarà un errore, ma è necessario utilizzare il comando la funzione IFERROR all'esterno per gestire l'errore. Nel set di dati dato, troveremo l'errore Nome dello studente con ID 100 .

  • A tal fine, utilizzare i seguenti comandi XLOOKUP formula in Cellula G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • D'altra parte, applicare questo ACCOPPIAMENTO DI INDICI formula.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Poiché restituisce un errore, è necessario utilizzare un oggetto IFERRORE per gestire questo errore.
=IFERROR(INDICE(B5:E16,MATCH(100,B5:B16,0),2), "Non trovato")

Letture simili

  • MATCH INDEX di Excel per restituire più valori in una cella
  • Formula di Excel INDEX-MATCH per restituire più valori in orizzontale
  • Come utilizzare la formula INDEX-MATCH in Excel per generare risultati multipli
  • [INDEX MATCH non restituisce il valore corretto in Excel (5 motivi)
  • Come usare INDEX MATCH invece di VLOOKUP in Excel (3 modi)

4. XLOOKUP e INDEX-MATCH in caso di corrispondenze approssimative

Sotto questo aspetto c'è una parziale somiglianza tra le due funzioni: nella XLOOKUP se la funzione valore_di_ricerca non corrisponde a nessun valore del file array_di_ricerca è possibile modificare la formula per restituire il valore immediatamente inferiore o superiore. Impostare l'argomento tipo_di_partita a -1 se si vuole il valore successivo più piccolo e impostarlo su 1 se si vuole il valore successivo più grande.

Per esempio, scopriremo lo studente con un voto di 50 o il segno successivo più grande.

  • Per trovare il valore, applicare questa procedura XLOOKUP formula.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Come si può vedere, non c'è nessuno studente con un punteggio di 50 Ecco perché viene visualizzato quello immediatamente dopo 50 , 51 da Desmond Hayes .

La stessa opzione è presente nel menu ACCOPPIAMENTO DI INDICI Ma il difetto è che bisogna ordinare la matrice lookup_array in ordine decrescente se si vuole il prossimo valore più grande, altrimenti restituirà un errore. E per ottenere il prossimo valore più piccolo, bisogna ordinarlo in ordine crescente.

  • Prima di tutto, inserire questa formula in Cellula G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • Come risultato, si vedrà che il risultato mostra un #N/A errore.
  • Pertanto, ordinare il Intervallo di celle D5:D16 in ordine crescente e si otterrà il valore corretto.

Nota speciale: Nel XLOOKUP funzione, -1 funziona per il valore successivo più piccolo, ma in ACCOPPIAMENTO DI INDICI , -1 funziona per il valore successivo più grande. Allo stesso modo nel metodo XLOOKUP 1 funziona per il valore successivo più grande, ma in INDEX-MATCH, 1 funziona per il valore successivo più piccolo.

Per saperne di più: Come usare INDEX e Match per le corrispondenze parziali (2 modi)

5. XLOOKUP e INDEX-MATCH in caso di corrispondenza di caratteri jolly

Sotto questo aspetto c'è una somiglianza tra le due funzioni. La XLOOKUP e il ACCOPPIAMENTO DI INDICI , entrambi supportano I jolly Qui, scopriremo ogni studente con " Marlo "Seguiamo i passi sotto indicati per vedere XLOOKUP vs ACCOPPIAMENTO DI INDICI confronto.

  • In primo luogo, applicare questo XLOOKUP formula in Cellula G5 per ottenere l'output.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Nota: Per utilizzare i caratteri jolly in XLOOKUP è necessario impostare il parametro tipo_di_partita argomento a 2 Altrimenti non funzionerà.

  • D'altra parte, il ACCOPPIAMENTO DEGLI INDICI per realizzare lo stesso compito sarà così.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Per saperne di più: MATCH INDICE Criteri multipli con caratteri jolly in Excel (Guida completa)

6. XLOOKUP e INDEX-MATCH Quando più valori corrispondono al valore di ricerca

Questo esempio mostra XLOOKUP vs ACCOPPIAMENTO DEGLI INDICI quando più valori corrispondono al valore di ricerca. Anche a questo proposito c'è una parziale somiglianza tra le due funzioni: la funzione XLOOKUP e il ACCOPPIAMENTO DI INDICI entrambi restituiscono un solo valore nel caso in cui siano presenti più valori nell'elemento array_di_ricerca corrispondere al valore_di_ricerca Ma nel XLOOKUP è possibile modificare la ricerca per ottenere la prima o l'ultima corrispondenza. Per ottenere il primo valore corrispondente, impostare il parametro tipo_di_ricerca argomento a 1 E per ottenere l'ultimo valore corrispondente, impostare il parametro tipo_di_ricerca argomento a -1 . ma in ACCOPPIAMENTO DI INDICI non si ha scelta: si otterrà solo il primo valore corrispondente.

  • Per ottenere il primo studente che ha ottenuto 100 , si può usare questo XLOOKUP formula in Cellula G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Insieme ad esso, si otterrà l'ultimo studente con 100 utilizzando questo XLOOKUP formula.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Al contrario, si otterrà solo il primo valore che corrisponde a questo ACCOPPIAMENTO DEGLI INDICI formula.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP e INDEX-MATCH in caso di valori di ricerca multipli

In questo esempio, dimostreremo XLOOKUP vs ACCOPPIAMENTO DEGLI INDICI in caso di valori di ricerca multipli. A questo proposito, le due funzioni sono simili: entrambe consentono di utilizzare più valori di ricerca. valori_di_ricerca (Formula della matrice).

  • Per il XLOOKUP la formula seguente funziona.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Poi, per ACCOPPIAMENTO DEGLI INDICI , funzionerà anche la seguente funzione.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Vantaggi e svantaggi della funzione XLOOKUP

Ci sono alcuni vantaggi e svantaggi nell'utilizzo del XLOOKUP funzione. Vediamoli in breve.

Vantaggi

  • Impostare un valore predefinito per i casi non corrispondenti.
  • È possibile cercare corrispondenze approssimative senza ordinare i risultati. array_di_ricerca .
  • Avere accesso alla ricerca sia dalla prima cella che dall'ultima cella del file array_di_ricerca .

Svantaggi

  • Funziona più lentamente del ACCOPPIAMENTO DI INDICI funzione.
  • Disponibile in Office 365 solo.

Vantaggi e svantaggi delle funzioni INDEX-MATCH

Il ACCOPPIAMENTO DEGLI INDICI Le funzioni hanno anche alcuni dei seguenti pro e contro.

Vantaggi

  • Funziona più velocemente del XLOOKUP funzione.
  • Disponibile nel vecchio Excel versioni.

Svantaggi

  • Non può gestire gli errori quando non viene trovata alcuna corrispondenza.
  • Ha bisogno del array_di_ricerca da ordinare per ottenere corrispondenze approssimative.
  • Restituisce solo il primo valore quando più valori corrispondono all'opzione valore_di_ricerca .

Conclusione

Infine, siamo giunti alla fine del nostro lungo articolo. Qui abbiamo cercato di creare un'analisi comparativa dei XLOOKUP contro il ACCOPPIAMENTO DI INDICI Fateci sapere i vostri suggerimenti in merito. Seguiteci. ExcelWIKI per ulteriori esercitazioni.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.