Funzione MATCH() di Excel: come trovare la posizione di un valore in un intervallo
Scopri come usare la funzione MATCH() in Excel per individuare la posizione di un valore in un intervallo, inclusa sintassi, casi d'uso e tecniche avanzate.
In questo articolo ti mostrerò cosa rende unica la funzione MATCH() di Excel rispetto alle altre funzioni di ricerca di Excel.
Ciò che rende MATCH() unica è che, a differenza di VLOOKUP() o HLOOKUP(), che restituiscono i valori effettivi, MATCH() ci dà la posizione di un valore, il che può essere estremamente utile in molte situazioni - vediamo come.
La risposta rapida
Per trovare la posizione di un valore usando la funzione MATCH():
Clicca su una cella vuota in cui vuoi il risultato
Digita =MATCH(
Poi scrivi il valore di ricerca tra virgolette
Seleziona il lookup_array.
Inserisci il tipo di corrispondenza (0 per corrispondenza esatta) e premi Invio.
Per esempio, ho un elenco di frutti e le loro vendite nell'intervallo A2:B6 e voglio trovare la posizione di Orange in questo elenco. Per farlo, scrivo la seguente formula e premo Invio:
Questo restituirà 4 perché Orange è il quarto frutto nell'elenco.
Usa la funzione MATCH(). Immagine dell'autore.
Capire MATCH() in Excel
Ci sono più modi per usare MATCH() e il modo in cui la usiamo può cambiare ciò che otteniamo. Vediamolo più nel dettaglio così puoi decidere cosa funziona meglio per te.
Che cos'è la funzione MATCH()?
La funzione MATCH() in Excel restituisce la posizione di un valore in un elenco. Invece di fornire il valore effettivo, ci dice dove si trova quel valore. Funziona al meglio quando dobbiamo conoscere la posizione piuttosto che il valore stesso, soprattutto per ricerche dinamiche.
Sintassi della funzione MATCH()
La sintassi di MATCH() è:
MATCH(lookup_value, lookup_array, [match_type])Offerto da
Qui:
lookup_value è il valore che stiamo cercando in lookup_array.
lookup_array è l'elenco in cui cercare quel valore.
match_type (opzionale) indica come cercare. 1 (predefinito) restituisce il valore più grande minore o uguale a lookup_value (l'elenco deve essere ordinato in ordine crescente). 0 restituisce una corrispondenza esatta. E -1 restituisce il valore più piccolo maggiore o uguale a quello che stai cercando (l'elenco deve essere ordinato in ordine decrescente).
Cose da sapere sulla funzione MATCH()
Prima di usare la funzione MATCH(), ci sono alcune piccole cose che vale la pena sapere. Ti aiuteranno a evitare errori e a semplificare un po' le cose:
MATCH() non fa distinzione tra maiuscole e minuscole, quindi apple, Apple e APPLE sono trattati allo stesso modo.
Se lavoriamo con testo e impostiamo match_type su 0, possiamo usare i caratteri jolly come * per rappresentare più caratteri e ? per rappresentare un singolo carattere.
Se MATCH() non riesce a trovare il valore desiderato, restituirà un errore #N/A.
Esempi base di utilizzo di MATCH() in Excel
Ora che sappiamo cos'è la funzione MATCH() e come funziona, vediamo come usarla con alcuni esempi:
Esempio 1: trovare la posizione di un numero
Diciamo che ho un intervallo di numeri nelle celle A2:A7 e voglio trovare la posizione del numero 40 all'interno dell'elenco. Per questo posso usare la funzione MATCH() così:
Guardando l'intestazione a sinistra di Excel, vedrai che il numero 40 è nella riga 6. Ma il risultato mostra 5. Questo perché iniziamo a contare da A2. Quindi, quando Excel conta da lì, ci dà 5 invece di 6.
Trova la posizione di un numero con la funzione MATCH(). Immagine dell'autore.
Esempio 2: trovare la posizione di un valore di testo
Ho un elenco di giocatori nelle celle A2:A7 e i loro punteggi nelle celle B2:B7 ordinati in ordine crescente, e voglio trovare la posizione della giocatrice Emily. Per questo, la mia formula è questa:
Questa formula cerca il valore nella cella D1 nell'intervallo A2:A7 e restituisce 3 perché Emily è la terza giocatrice nell'elenco.
Trova la posizione di un testo con la funzione MATCH(). Immagine dell'autore.
Fuzzy matching e caratteri jolly in Excel
A volte, i dati con cui lavoriamo non sono perfetti — possono esserci refusi, grafie diverse o formati disordinati. In questi casi, fuzzy e wildcard matching possono aiutare a sistemare le cose.
Fuzzy match
Il fuzzy matching trova record da elenchi diversi che sono simili ma non esattamente uguali. È utile quando ci sono piccole variazioni o refusi come Frank vs. Feank.
Ho due dataset: elenco Ordini clienti e Membri del programma fedeltà. E voglio verificare quali ordini dei clienti sono già nel programma fedeltà, anche se ci sono alcune variazioni dovute a refusi, soprannomi o differenze di formattazione. Un VLOOKUP() qui non funziona perché i nomi non corrispondono esattamente.
Passaggio 1: converti i dati in tabelle
Seleziona Ordini clienti, premi Ctrl + T.
Seleziona Membri del programma fedeltà, premi Ctrl + T.
Assicurati che ci sia spazio tra le due tabelle per tenerle separate.
Passaggio 2: carica i dati in Power Query
Clicca in un punto qualsiasi dentro Ordini clienti e assegnale il nome Orders_Table.
Vai su Dati > Recupera dati > Da tabella/intervallo.
Chiudi e carica per caricarla in Power Query.
Ripeti i passaggi 1-3 per Membri del programma fedeltà e assegnale il nome Loyalty_Table ma questa volta seleziona Chiudi e carica in e caricala nello stesso foglio Excel.
Ora entrambe le tabelle sono caricate in Power Query.
Carica le tabelle in Power Query. Immagine dell'autore.
Passaggio 3: unisci le tabelle usando il fuzzy matching
Vai su Dati > Recupera dati > Combina query > Unisci query.
Nella finestra Unisci, seleziona la prima tabella (Orders_Table) e la seconda tabella (Loyalty_Table)
Seleziona la colonna Nome cliente in entrambe le tabelle.
Usa corrispondenza fuzzy: seleziona la casella.
Clicca sul menu a discesa e imposta la soglia di similarità su 0,3 (consente alcune variazioni come refusi o soprannomi).
Usa il fuzzy match per unire le tabelle. Immagine dell'autore.
Power Query ora abbinerà nomi simili piuttosto che esatti.
Passaggio 4: espandi i dati abbinati
Clicca sull'icona di espansione accanto alla colonna abbinata.
Seleziona Nome cliente da Loyalty_Table e clicca su OK.
Chiudi e carica i risultati di nuovo in Excel.
Come vedi nell'immagine qui sotto, il fuzzy lookup ha abbinato automaticamente i clienti con variazioni di nome.
Tabelle unite usando il fuzzy match. Immagine dell'autore.
Corrispondenza con caratteri jolly
La corrispondenza con caratteri jolly ci aiuta a trovare nomi o valori quando conosciamo solo una parte di ciò che stiamo cercando. È utile quando lavoriamo con voci simili o ricordi vaghi. Ci sono due caratteri jolly che possiamo usare:
* corrisponde a qualsiasi numero di caratteri (ad es., Jo* corrisponde a John e Jonathan).
? corrisponde a un solo carattere (ad es., J?ck corrisponde a Jack ma non a Jake).
Ecco come funzionano:
A* corrisponde a qualsiasi cosa inizi con A.
*A corrisponde a qualsiasi cosa finisca con A.
*A* corrisponde a qualsiasi cosa contenga A in qualsiasi punto della cella.
Per esempio, per trovare il nome della persona il cui nome finisce con e, uso:
Come vedi nell'immagine qui sotto, la formula restituisce 3 perché il nome Charlie finisce con e.
Trova la posizione usando i caratteri jolly. Immagine dell'autore.
Combinare MATCH() con altre funzioni di Excel
MATCH() diventa ancora più utile quando la abbiniamo ad altre funzioni. Rende le formule più flessibili e più facili da aggiornare. Vediamo come.
Combinare MATCH() con INDEX()
MATCH() è spesso abbinata a INDEX() per ricerche potenti. A differenza di VLOOKUP(), che può cercare solo da sinistra a destra, INDEX() e MATCH() lavorano insieme per cercare valori in qualsiasi direzione.
Per esempio, ho un elenco di giocatori e i loro punteggi e voglio trovare il punteggio di Brian. Per questo uso la seguente formula:
Usare MATCH() per la selezione dinamica della colonna in VLOOKUP()
Sappiamo che VLOOKUP() richiede di inserire manualmente il numero della colonna in cui si trova il risultato. Se le colonne cambiano, dobbiamo aggiornare la formula. Per evitarlo, possiamo usare MATCH() per trovare automaticamente la colonna giusta.
Per esempio, ho un dataset e voglio scoprire il nome della squadra di Emily. Con VLOOKUP(), la formula è così:
Questa formula può cercare solo da sinistra a destra e il numero di colonna 3 è fisso, quindi se le colonne cambiano devo aggiornare manualmente la formula.
Quindi, invece di inserire il numero di colonna fisso in VLOOKUP(), possiamo combinarla con MATCH() così:
=VLOOKUP(F1, A2:C12, MATCH("Team", A1:C1, 0), FALSE)Offerto da
In questa formula, MATCH("Team", A1:C1, 0) trova quale colonna contiene Team e la restituisce. Poi, VLOOKUP(F1, A2:C4, 3, FALSE) estrae i dati dalla terza colonna invece di un numero fisso.
Combina VLOOKUP() e MATCH(). Immagine dell'autore.
MATCH() sensibile alle maiuscole con EXACT()
Per impostazione predefinita, MATCH() ignora maiuscole e minuscole, quindi Apple e apple sono trattati allo stesso modo. Se ci serve una ricerca sensibile alle maiuscole, dobbiamo combinare MATCH() con la funzione EXACT() così:
Questa è una formula matrice, quindi premi Ctrl + Maiusc + Invio.In questa formula, EXACT(A2:A4, "Emily") controlla ogni nome e restituisce TRUE solo per la corrispondenza esatta. MATCH(TRUE, ...) quindi trova il primo TRUE e restituisce la posizione.
Combina EXACT() e MATCH(). Immagine dell'autore.
Considerazioni finali
MATCH(), i caratteri jolly e il fuzzy matching possono sembrare un po' ostici all'inizio, ma con un po' di pratica possono farci risparmiare un sacco di tempo. Sono particolarmente utili quando lavoriamo con dati disordinati o ci servono modi più flessibili per trovare elementi in un foglio di calcolo.
Se vuoi approfondire, il nostro corso Data Analysis in Excel è un ottimo passo successivo. Oppure dai un'occhiata al nostro percorso di competenze Excel Fundamentals per consolidare le basi e sentirti più sicuro con funzioni come queste.
All'inizio potresti sbagliare, ma non stressarti se servono alcuni tentativi. Fa parte del prendere confidenza con Excel.
Sono una content strategist: mi piace semplificare argomenti complessi. Ho aiutato aziende come Splunk, Hackernoon e Tiiny Host a creare contenuti coinvolgenti e informativi per il loro pubblico.
FAQ su Excel
Posso confrontare due colonne per corrispondenze e differenze?⌄
Puoi usare le funzioni ISNA() e MATCH() per verificare se i valori di un elenco esistono in un altro.
Se un valore nella colonna B non si trova nella colonna A, la formula restituisce "Not in List 1."
Come gestire gli errori usando `MATCH()`?⌄
Quando la funzione MATCH() non riesce a trovare un valore, restituisce un errore #N/A. Per sostituirlo con un messaggio personalizzato, racchiudi la formula nella funzione IFERROR() così:
=IFERROR(MATCH("Apple", A1:A5, 0), "Not Found")
Questa formula mostrerà un messaggio personalizzato invece di un errore.
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Acquisisci le competenze essenziali per utilizzare Excel, dalla preparazione dei dati alla scrittura di formule e alla creazione di visualizzazioni. Non è richiesta alcuna esperienza precedente.
In questo articolo ti mostrerò cosa rende unica la funzione
MATCH()di Excel rispetto alle altre funzioni di ricerca di Excel.Ciò che rende
MATCH()unica è che, a differenza diVLOOKUP()oHLOOKUP(), che restituiscono i valori effettivi,MATCH()ci dà la posizione di un valore, il che può essere estremamente utile in molte situazioni - vediamo come.La risposta rapida
Per trovare la posizione di un valore usando la funzione
MATCH():Clicca su una cella vuota in cui vuoi il risultato
Digita
=MATCH(Poi scrivi il valore di ricerca tra virgolette
Seleziona il
lookup_array.Inserisci il tipo di corrispondenza (
0per corrispondenza esatta) e premi Invio.Per esempio, ho un elenco di frutti e le loro vendite nell'intervallo A2:B6 e voglio trovare la posizione di Orange in questo elenco. Per farlo, scrivo la seguente formula e premo Invio:
Questo restituirà 4 perché Orange è il quarto frutto nell'elenco.
Usa la funzione MATCH(). Immagine dell'autore.
Capire MATCH() in Excel
Ci sono più modi per usare
MATCH()e il modo in cui la usiamo può cambiare ciò che otteniamo. Vediamolo più nel dettaglio così puoi decidere cosa funziona meglio per te.Che cos'è la funzione MATCH()?
La funzione
MATCH()in Excel restituisce la posizione di un valore in un elenco. Invece di fornire il valore effettivo, ci dice dove si trova quel valore. Funziona al meglio quando dobbiamo conoscere la posizione piuttosto che il valore stesso, soprattutto per ricerche dinamiche.Sintassi della funzione MATCH()
La sintassi di
MATCH()è:Qui:
lookup_valueè il valore che stiamo cercando inlookup_array.lookup_arrayè l'elenco in cui cercare quel valore.match_type(opzionale) indica come cercare.1(predefinito) restituisce il valore più grande minore o uguale alookup_value(l'elenco deve essere ordinato in ordine crescente).0restituisce una corrispondenza esatta. E-1restituisce il valore più piccolo maggiore o uguale a quello che stai cercando (l'elenco deve essere ordinato in ordine decrescente).Cose da sapere sulla funzione MATCH()
Prima di usare la funzione
MATCH(), ci sono alcune piccole cose che vale la pena sapere. Ti aiuteranno a evitare errori e a semplificare un po' le cose:MATCH()non fa distinzione tra maiuscole e minuscole, quindi apple, Apple e APPLE sono trattati allo stesso modo.Se lavoriamo con testo e impostiamo
match_typesu0, possiamo usare i caratteri jolly come*per rappresentare più caratteri e?per rappresentare un singolo carattere.Se
MATCH()non riesce a trovare il valore desiderato, restituirà un errore#N/A.Esempi base di utilizzo di MATCH() in Excel
Ora che sappiamo cos'è la funzione
MATCH()e come funziona, vediamo come usarla con alcuni esempi:Esempio 1: trovare la posizione di un numero
Diciamo che ho un intervallo di numeri nelle celle
A2:A7e voglio trovare la posizione del numero40all'interno dell'elenco. Per questo posso usare la funzioneMATCH()così:Oppure posso anche usare un riferimento di cella per il valore di ricerca.
Guardando l'intestazione a sinistra di Excel, vedrai che il numero
40è nella riga 6. Ma il risultato mostra 5. Questo perché iniziamo a contare daA2. Quindi, quando Excel conta da lì, ci dà 5 invece di 6.Trova la posizione di un numero con la funzione MATCH(). Immagine dell'autore.
Esempio 2: trovare la posizione di un valore di testo
Ho un elenco di giocatori nelle celle
A2:A7e i loro punteggi nelle celleB2:B7ordinati in ordine crescente, e voglio trovare la posizione della giocatrice Emily. Per questo, la mia formula è questa:Questa formula cerca il valore nella cella
D1nell'intervalloA2:A7e restituisce3perché Emily è la terza giocatrice nell'elenco.Trova la posizione di un testo con la funzione MATCH(). Immagine dell'autore.
Fuzzy matching e caratteri jolly in Excel
A volte, i dati con cui lavoriamo non sono perfetti — possono esserci refusi, grafie diverse o formati disordinati. In questi casi, fuzzy e wildcard matching possono aiutare a sistemare le cose.
Fuzzy match
Il fuzzy matching trova record da elenchi diversi che sono simili ma non esattamente uguali. È utile quando ci sono piccole variazioni o refusi come Frank vs. Feank.
Ho due dataset: elenco Ordini clienti e Membri del programma fedeltà. E voglio verificare quali ordini dei clienti sono già nel programma fedeltà, anche se ci sono alcune variazioni dovute a refusi, soprannomi o differenze di formattazione. Un
VLOOKUP()qui non funziona perché i nomi non corrispondono esattamente.Passaggio 1: converti i dati in tabelle
Seleziona Ordini clienti, premi
Ctrl + T.Seleziona Membri del programma fedeltà, premi
Ctrl + T.Assicurati che ci sia spazio tra le due tabelle per tenerle separate.
Passaggio 2: carica i dati in Power Query
Ora entrambe le tabelle sono caricate in Power Query.
Carica le tabelle in Power Query. Immagine dell'autore.
Passaggio 3: unisci le tabelle usando il fuzzy matching
Usa il fuzzy match per unire le tabelle. Immagine dell'autore.
Power Query ora abbinerà nomi simili piuttosto che esatti.
Passaggio 4: espandi i dati abbinati
Come vedi nell'immagine qui sotto, il fuzzy lookup ha abbinato automaticamente i clienti con variazioni di nome.
Tabelle unite usando il fuzzy match. Immagine dell'autore.
Corrispondenza con caratteri jolly
La corrispondenza con caratteri jolly ci aiuta a trovare nomi o valori quando conosciamo solo una parte di ciò che stiamo cercando. È utile quando lavoriamo con voci simili o ricordi vaghi. Ci sono due caratteri jolly che possiamo usare:
*corrisponde a qualsiasi numero di caratteri (ad es., Jo* corrisponde a John e Jonathan).?corrisponde a un solo carattere (ad es., J?ck corrisponde a Jack ma non a Jake).Ecco come funzionano:
A*corrisponde a qualsiasi cosa inizi con A.*Acorrisponde a qualsiasi cosa finisca con A.*A*corrisponde a qualsiasi cosa contenga A in qualsiasi punto della cella.Per esempio, per trovare il nome della persona il cui nome finisce con e, uso:
Come vedi nell'immagine qui sotto, la formula restituisce
3perché il nome Charlie finisce con e.Trova la posizione usando i caratteri jolly. Immagine dell'autore.
Combinare MATCH() con altre funzioni di Excel
MATCH()diventa ancora più utile quando la abbiniamo ad altre funzioni. Rende le formule più flessibili e più facili da aggiornare. Vediamo come.Combinare MATCH() con INDEX()
MATCH()è spesso abbinata aINDEX()per ricerche potenti. A differenza di VLOOKUP(), che può cercare solo da sinistra a destra, INDEX() e MATCH() lavorano insieme per cercare valori in qualsiasi direzione.Per esempio, ho un elenco di giocatori e i loro punteggi e voglio trovare il punteggio di Brian. Per questo uso la seguente formula:
E con un riferimento di cella, appare così:
Combina INDEX() e MATCH(). Immagine dell'autore.
Usare MATCH() per la selezione dinamica della colonna in VLOOKUP()
Sappiamo che
VLOOKUP()richiede di inserire manualmente il numero della colonna in cui si trova il risultato. Se le colonne cambiano, dobbiamo aggiornare la formula. Per evitarlo, possiamo usareMATCH()per trovare automaticamente la colonna giusta.Per esempio, ho un dataset e voglio scoprire il nome della squadra di
Emily. ConVLOOKUP(), la formula è così:Questa formula può cercare solo da sinistra a destra e il numero di colonna
3è fisso, quindi se le colonne cambiano devo aggiornare manualmente la formula.Quindi, invece di inserire il numero di colonna fisso in
VLOOKUP(), possiamo combinarla conMATCH()così:In questa formula,
MATCH("Team", A1:C1, 0)trova quale colonna contiene Team e la restituisce. Poi,VLOOKUP(F1, A2:C4, 3, FALSE)estrae i dati dalla terza colonna invece di un numero fisso.Combina VLOOKUP() e MATCH(). Immagine dell'autore.
MATCH() sensibile alle maiuscole con EXACT()
Per impostazione predefinita,
MATCH()ignora maiuscole e minuscole, quindi Apple e apple sono trattati allo stesso modo. Se ci serve una ricerca sensibile alle maiuscole, dobbiamo combinareMATCH()con la funzioneEXACT()così:Questa è una formula matrice, quindi premi
Ctrl + Maiusc + Invio. In questa formula,EXACT(A2:A4, "Emily")controlla ogni nome e restituisceTRUEsolo per la corrispondenza esatta.MATCH(TRUE, ...)quindi trova il primoTRUEe restituisce la posizione.Combina EXACT() e MATCH(). Immagine dell'autore.
Considerazioni finali
MATCH(), i caratteri jolly e il fuzzy matching possono sembrare un po' ostici all'inizio, ma con un po' di pratica possono farci risparmiare un sacco di tempo. Sono particolarmente utili quando lavoriamo con dati disordinati o ci servono modi più flessibili per trovare elementi in un foglio di calcolo.Se vuoi approfondire, il nostro corso Data Analysis in Excel è un ottimo passo successivo. Oppure dai un'occhiata al nostro percorso di competenze Excel Fundamentals per consolidare le basi e sentirti più sicuro con funzioni come queste.
All'inizio potresti sbagliare, ma non stressarti se servono alcuni tentativi. Fa parte del prendere confidenza con Excel.