Funzione CONFRONTA di Excel - Cerca la posizione di un valore in un elenco

Scarica esempio di cartella di lavoro

Scarica la cartella di lavoro di esempio

Questo tutorial di Excel mostra come usare il Funzione CONFRONTA di Excel in Excel per trovare un valore, con esempi di formule.

MATCH Panoramica della funzione

La funzione MATCH Cerca un elemento in un elenco e restituisce un numero che rappresenta la sua posizione nell'elenco.

(Notare come appare l'input della formula)

Sintassi e argomento della funzione di corrispondenza

1 =CONFRONTA(valore_ricerca,array_ricerca,tipo_corrispondenza)

valore di ricerca - Il valore che vuoi cercare.

lookup_array - Un array di dati di una colonna di larghezza o di una riga di altezza in cui si desidera eseguire la ricerca.

match_type - 0,-1 o 1 specifica cosa fare se non viene trovata una corrispondenza esatta. 0 restituisce un errore. -1 restituisce la corrispondenza più vicina che è maggiore di lookup_value. 1 restituisce la corrispondenza più vicina che è inferiore a lookup_value.

Che cos'è la funzione CONFRONTA?

In parole povere, la funzione CONFRONTA può cercare un intervallo/matrice di elementi e restituire la posizione relativa della parola cercata. Viene spesso utilizzato insieme alla funzione INDEX, poiché INDEX necessita di una posizione relativa per restituire un risultato.

Corrispondenza esatta

Ti imbatterai spesso in grandi elenchi di dati e dovrai essere in grado di cercare un elemento specifico. Useremo un piccolo esempio con un po' di frutta. Innanzitutto, cercheremo una corrispondenza esatta. Ecco il layout dei nostri dati. Vogliamo cercare la parola nella cella D1.

In D2, la nostra formula è:

1 =CONFRONTA(D1, A2:A5, 0)

Prendi nota che abbiamo bisogno di specificare 0 o False come ultimo argomento per indicare che vogliamo an esatto incontro. Il risultato di questa funzione è 2, perché "Apple" è il 2ns articolo della nostra gamma.

Elenco ordinato

Vediamo come funziona la funzione CONFRONTA con una corrispondenza non esatta. Qui abbiamo un elenco di elementi. NOTA: Gli elementi sono stati ordinati in ordine crescente.

In D1, abbiamo detto che vogliamo cercare la parola "Orange". La formula in D2 è

1 =CONFRONTA(D1, A2:A5, 1)

La nostra formula dà un risultato di 2 anche se “Succo d'arancia” è nel 3rd cellula. Poiché stavamo cercando una corrispondenza più vicina, la funzione troverà la nostra parola esatta, o l'elemento successivo più piccolo. Con le stringhe di testo, questa sembra essere la parola appena prima di "Succo d'arancia", e quindi abbiamo ottenuto un risultato di 2.

Questa capacità di trovare il più piccolo successivo può essere più facile da capire utilizzando una ricerca numerica. Considera questo layout, in cui abbiamo elencato solo gli elementi per 10. Se cerchiamo un valore di 34 utilizzando la nostra formula, puoi vedere che il risultato è 3.

1 =CONFRONTA(D1, A2:A5, 1)

Questo può funzionare bene quando hai a che fare con "bucket" e vuoi solo essere in grado di scoprire a quale gruppo appartiene un valore.

Elenco discendente

Nel nostro esempio precedente, cosa succede se si desidera inserire il valore 34 nel gruppo più ampio? Nel nostro prossimo esempio, supponiamo di avere un elenco di container di spedizione di dimensioni diverse e di dover sapere quale utilizzare. Poiché dobbiamo assicurarci di avere spazio sufficiente o più, utilizzeremo la funzione CONFRONTA con l'ultimo argomento impostato su -1. Diamo un'occhiata a questo esempio:

In questo caso, dobbiamo scoprire quale contenitore si adatta alla nostra dimensione di 495. La formula in D2 è:

1 =CONFRONTA(D1, A1:A5, -1)

Il risultato di questa formula è 2, indicando che dobbiamo usare il 2ns elemento dall'elenco (il 500) per soddisfare le nostre esigenze.

Partita con caratteri jolly

La funzione CONFRONTA supporta anche l'uso di caratteri jolly come "*" e "?". Torniamo alla nostra lista di vari prodotti alimentari. In questo caso, abbiamo modificato il termine di ricerca in D1 in "Arancione*".

La nostra formula in D2 è:

1 =CONFRONTA(D1, A1:A5, 0)

Nota che dobbiamo riportare il tipo MATCH a esatto incontro. Anche se gli elementi sono confusi e il nostro termine di ricerca non ha la corrispondenza del testo completo, la nostra formula è stata in grado di fornire il risultato corretto di 3.

Utilizzo di MATCH con INDEX

Restituire la posizione relativa di un elemento è utile, ma di solito non è così utile per gli utenti umani. Di solito vogliamo conoscere il valore corrispondente per un articolo. È qui che INDEX può entrare in scena. Poiché INDEX ha bisogno di una posizione numerica per riga e/o colonna, possiamo usare la funzione MATCH per dire all'INDEX quale elemento vogliamo. Considera il seguente layout in cui dobbiamo essere in grado di cercare i prezzi per i nostri articoli.

Stiamo cercando "Apple". In E2, la nostra formula è

1 =INDICE(A2:A5, CONFRONTA(E1, B2:B5, 0))

La funzione MATCH cercherà B2: B5 per la nostra frase esatta, "Apple". Lo troverà nel 2ns item e restituisci il valore di 2. L'INDEX quindi prende questo e ci darà il 2ns valore dalla gamma A2:A5. Il 2ns l'articolo è nella cella A3, $ 2,00. Questo è discusso più in

Abbina in Fogli Google

La funzione CONFRONTA funziona esattamente allo stesso modo in Fogli Google come in Excel:
<

Note aggiuntive

Utilizzare la funzione CONFRONTA per trovare la posizione numerica di un valore all'interno di un intervallo di valori. L'intervallo deve essere un sottoinsieme di un singolo intervallo o una singola riga.

La funzione MATCH viene utilizzata più frequentemente con la funzione INDEX.

MATCH Esempi in VBA

Puoi anche usare la funzione MATCH in VBA. Tipo:

1 application.worksheetfunction.match(lookup_value,lookup_array,match_type)

Per gli argomenti della funzione (lookup_value, ecc.), puoi inserirli direttamente nella funzione o definire le variabili da utilizzare al loro posto.

Supponendo di avere i seguenti valori nel nostro foglio Excel

eseguendo il seguente codice

123 Dim Match_Value As VariantMatch_Value = Application.WorksheetFunction.Match("test1", Range("A4:A13"), 1)MsgBox ("Corrispondenza trovata nella riga " & Max_Value)

Restituirà quanto segue

1 La corrispondenza è stata trovata alla riga 9

perché la stringa “test1” è il nono elemento nell'intervallo di valori da cercare.

Possiamo anche cercare il contenuto nel nostro foglio di lavoro invece di inserire direttamente i valori nel codice VBA: La seguente istruzione cercherà nella colonna A il valore immesso nella cella C3

1 Match_Value = Application.Match(Cells(3, 3).Value, Columns(1), 0)

Torna all'elenco di tutte le funzioni in Excel

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave