Come fare ricerche in Excel: esempi di funzioni e formule

  • Condividi Questo
Michael Brown

L'esercitazione spiega le basi del Lookup in Excel, mostra i punti di forza e di debolezza di ciascuna funzione di Lookup di Excel e fornisce una serie di esempi che aiutano a decidere quale formula di Lookup è meglio utilizzare in una particolare situazione.

Cercare un valore specifico all'interno di un insieme di dati è una delle operazioni più comuni in Excel. Eppure, non esiste una formula di ricerca "universale" adatta a tutte le situazioni. Il motivo è che il termine "lookup" può indicare una varietà di cose diverse: si può cercare verticalmente in una colonna, orizzontalmente in una riga o all'intersezione di una riga e di una colonna, cercare con uno o più criteri, restituire il risultato di un'operazione di ricerca.la prima corrispondenza trovata o più corrispondenze, fare una ricerca sensibile alle maiuscole o alle minuscole e così via.

In questa pagina troverete un elenco delle funzioni Lookup di Excel più importanti, con esempi di formule e tutorial approfonditi collegati per la vostra consultazione.

    Excel Lookup - le basi

    Prima di addentrarci negli arcani delle formule di Excel Lookup, definiamo i termini chiave per essere sicuri di essere sempre sulla stessa pagina.

    Ricerca - ricerca di un valore specifico in una tabella di dati.

    Valore di ricerca - un valore da cercare.

    Valore di ritorno (valore corrispondente o match) - un valore nella stessa posizione del valore di ricerca, ma in un'altra colonna o riga (a seconda che si tratti di ricerca verticale o orizzontale).

    Tabella di ricerca In informatica, una tabella di ricerca è una matrice di dati che viene generalmente utilizzata per mappare i valori di input in valori di output. In termini di questo tutorial, una tabella di ricerca di Excel non è altro che un intervallo di celle in cui si cerca un valore di ricerca.

    Tavolo principale (tabella master) - una tabella in cui vengono inseriti i valori corrispondenti.

    La tabella di ricerca e la tabella principale possono avere una struttura e una dimensione diverse, ma devono sempre contenere almeno un elemento identificatore unico comune cioè una colonna o una riga che contiene dati identici, a seconda che si voglia eseguire una ricerca verticale o orizzontale.

    La seguente schermata mostra un esempio di tabella di ricerca che verrà utilizzata in molti degli esempi che seguono.

    Funzioni di ricerca di Excel

    Di seguito è riportata una rapida panoramica delle formule più diffuse per eseguire ricerche in Excel, i loro principali vantaggi e svantaggi.

    Funzione LOOKUP

    La funzione LOOKUP di Excel può eseguire i tipi più semplici di ricerca verticale e orizzontale.

    Pro Facile da usare.

    Contro Funzionalità limitata, non può lavorare con dati non ordinati (richiede l'ordinamento della colonna/fila di ricerca in ordine crescente).

    Per ulteriori informazioni, vedere Come utilizzare la funzione LOOKUP di Excel.

    Funzione VLOOKUP

    Si tratta di una versione migliorata della funzione LOOKUP, appositamente progettata per ricerca verticale in colonne.

    Pro Relativamente facile da usare, può lavorare con corrispondenze esatte e approssimative.

    Contro Non può guardare alla sua sinistra, smette di funzionare quando una colonna viene inserita o rimossa dalla tabella di ricerca, un valore di ricerca non può superare i 255 caratteri, richiede molta potenza di elaborazione su grandi insiemi di dati.

    Per ulteriori informazioni, consultare l'esercitazione di Excel VLOOKUP per principianti.

    Funzione HLOOKUP

    È una controparte orizzontale di VLOOKUP che cerca un valore nella prima riga della tabella di ricerca e restituisce il valore nella stessa posizione da un'altra riga.

    Pro Facile da usare, può restituire corrispondenze esatte e approssimative.

    Contro Può cercare solo nella riga più alta della tabella di ricerca, è influenzato dall'inserimento o dall'eliminazione di righe, un valore di ricerca deve essere inferiore a 255 caratteri.

    Per ulteriori informazioni, vedere Come usare HLOOKUP in Excel.

    VLOOKUP MATCH / HLOOKUP MATCH

    Un riferimento dinamico alla colonna o alla riga creato da MATCH rende questa formula di lookup di Excel immune alle modifiche apportate al set di dati. In altre parole, con l'aiuto di MATCH, le funzioni VLOOKUP e HLOOKUP possono restituire valori corretti indipendentemente dal numero di colonne o righe inserite o eliminate da una tabella di lookup.

    Formula per la ricerca verticale

    VLOOKUP( valore_di_ricerca , tabella_di_ricerca , MATCH( nome_colonna_ritorno , intestazioni_colonna , 0), FALSO)

    Formula per la ricerca orizzontale

    HLOOKUP( valore_di_ricerca , tabella_di_ricerca , MATCH( nome_fila_ritorno , intestazioni_di_riga , 0), FALSO)

    Pro Un miglioramento rispetto alle normali formule Hlookup e Vlookup, immune all'inserimento o alla cancellazione di dati.

    Contro Non è molto flessibile, richiede una struttura dati specifica (il valore di ricerca fornito alla funzione MATCH deve essere esattamente uguale al nome della colonna di ritorno), non può funzionare con valori di ricerca superiori a 255 caratteri.

    Per ulteriori informazioni ed esempi di formule, si veda:

    • Vlookup e corrispondenza di Excel
    • Excel Hlookup e Match

    PARTITA OFFSET

    Una formula di ricerca più complessa ma più potente, priva di molte limitazioni di Vlookup e Hlookup.

    Formula per la ricerca di V

    OFFSET( tabella_di_ricerca , MATCH( valore_di_ricerca , OFFSET( tabella_di_ricerca , 0, n , VOCI( tabella_di_ricerca ), 1) ,0) -1, m , 1, 1)

    Dove:

    • n - è l'offset della colonna di ricerca, cioè il numero di colonne da spostare dal punto di partenza alla colonna di ricerca.
    • m - è l'offset della colonna di ritorno, cioè il numero di colonne da spostare dal punto di partenza alla colonna di ritorno.

    Formula per la ricerca H

    OFFSET( tabella_di_ricerca , m , MATCH( valore_di_ricerca , OFFSET( tabella_di_ricerca , n , 0, 1, COLONNE( tabella_di_ricerca )), 0) -1, 1, 1)

    Dove:

    • n - è l'offset della riga di ricerca, cioè il numero di righe da spostare dal punto di partenza alla riga di ricerca.
    • m - è l'offset della riga di ritorno, cioè il numero di righe da spostare dal punto di partenza alla riga di ritorno.

    Formula per la ricerca della matrice (per riga e colonna)

    {=OFFSET ( punto_di_inizio , MATCH ( valore_verticale , colonna_di_ricerca , 0), MATCH ( valore_lookup_orizzontale , riga_di_ricerca , 0))}

    Si noti che si tratta di una formula di matrice, che viene inserita premendo contemporaneamente i tasti Ctrl + Shift + Invio.

    Pro Permette di eseguire un Vlookup sinistro, un Hlookup superiore e un lookup bidirezionale (per valori di colonna e di riga), senza essere influenzato dalle modifiche del set di dati.

    Contro Sintassi complessa e difficile da ricordare.

    Per ulteriori informazioni ed esempi di formule, consultare: Uso della funzione OFFSET in Excel

    PARTITA INDICE

    È il modo migliore per eseguire ricerche verticali o orizzontali in Excel e può sostituire la maggior parte delle formule precedenti. La formula di corrispondenza dell'indice è la mia preferenza personale e la uso per quasi tutte le mie ricerche in Excel.

    Formula per la ricerca di V

    INDICE ( colonna_ritorno , MATCH ( valore_di_ricerca , colonna_di_ricerca , 0))

    Formula per la ricerca H

    INDICE ( riga_di_ritorno , MATCH ( valore_di_ricerca , riga_di_ricerca , 0))

    Formula per la ricerca della matrice

    Un'estensione della classica formula Index Match per restituire un valore all'intersezione di una colonna e di una riga specifiche:

    INDICE ( tabella_di_ricerca , MATCH ( valore_verticale , colonna_di_ricerca , 0), MATCH ( valore_lookup_orizzontale , riga_di_ricerca , 0))

    Contro Solo uno: è necessario ricordare la sintassi della formula.

    Pro La formula di ricerca più versatile di Excel, superiore alle funzioni Vlookup, Hlookup e Lookup sotto molti aspetti:

    • Può eseguire ricerche a sinistra e in alto.
    • Consente di estendere o ridurre in modo sicuro la tabella di ricerca inserendo o eliminando colonne e righe.
    • Nessun limite alla dimensione del valore di ricerca.
    • Funziona più velocemente: poiché una formula di corrispondenza indice fa riferimento a colonne/rubriche anziché a un'intera tabella, richiede meno potenza di elaborazione e non rallenta Excel.

    Per ulteriori informazioni, consultare il sito:

    • INDEX MATCH come alternativa migliore a VLOOKUP
    • Formula INDEX MATCH MATCH per la ricerca bidimensionale

    Tabella di confronto Excel Lookup

    Come si vede, non tutte le formule di ricerca di Excel sono equivalenti: alcune possono gestire una serie di ricerche diverse, mentre altre possono essere utilizzate solo in una situazione specifica. La tabella seguente illustra le funzionalità di ciascuna formula di ricerca in Excel.

    Formula Ricerca verticale Ricerca a sinistra Ricerca orizzontale Ricerca superiore Ricerca della matrice Consente l'inserimento/cancellazione di dati
    Ricerca
    Vlookup
    Hlookup
    Corrispondenza Vlookup
    Partita Hlookup
    Corrispondenza offset
    Offset Corrispondenza Corrispondenza
    Corrispondenza dell'indice
    Indice Corrispondenza Corrispondenza

    Esempi di formule di ricerca in Excel

    Il primo passo per decidere quale formula utilizzare in una situazione specifica è determinare il tipo di ricerca che si desidera eseguire. Di seguito sono riportati esempi di formule per i tipi di ricerca più diffusi:

      Ricerca verticale in colonne

      Una ricerca verticale o Vlookup è il processo che consiste nel trovare un valore di ricerca in una colonna e restituire un valore nella stessa riga da un'altra colonna. Le Vlookup in Excel possono essere eseguite in diversi modi, tra cui:

      Funzione VLOOKUP

      Se i valori di lookup risiedono nella colonna di sinistra della tabella e non si prevede di apportare modifiche strutturali al set di dati (né aggiungere né eliminare colonne), si può tranquillamente utilizzare una normale formula di Vlookup:

      =VLOOKUP(G2, $A$2:$E$6, 5, FALSE)

      Dove G2 è il valore di ricerca, A2:E6 nella tabella di ricerca, ed E è la colonna di ritorno.

      MATCH VLOOKUP

      Se si lavora con una tabella di ricerca Excel "variabile" in cui le colonne possono essere inserite ed eliminate in qualsiasi momento, è possibile rendere la formula Vlookup immune da tali modifiche incorporando la funzione Match che crea un riferimento dinamico alla colonna anziché un numero di indice "codificato":

      =VLOOKUP(F2,$A$1:$D$6, MATCH($G$1,$A$1:$D$1, 0), FALSE)

      MATCH INDICE - Ricerca a sinistra

      È la mia formula preferita che gestisce con facilità le ricerche da destra a sinistra e funziona in modo impeccabile indipendentemente dal numero di colonne aggiunte o eliminate.

      Ad esempio, per cercare nella colonna B il valore in H2 e ottenere una corrispondenza dalla colonna F, utilizzare questa formula:

      =INDICE($F$2:$F$6,(MATCH(H2,$B$2:$B$6,0))

      Nota: quando si prevede di utilizzare una formula di Vlookup in più di una cella, si dovrebbe sempre bloccare il riferimento alla tabella di ricerca utilizzando il segno $ (riferimento assoluto alla cella), in modo che la formula venga copiata correttamente in altre celle.

      Ricerca orizzontale in righe

      Una ricerca orizzontale è una versione "trasposta" della ricerca verticale che cerca in un set di dati disposti orizzontalmente. In altre parole, cerca il valore di ricerca in una riga e restituisce un valore nella stessa posizione da un'altra riga.

      Supponendo che il valore di ricerca sia in B9, che la tabella di ricerca sia B1:F5 e che si voglia restituire un valore corrispondente dalla riga 5, utilizzare una delle seguenti formule:

      Funzione HLOOKUP

      Può guardare in alto solo attraverso il fila superiore nel vostro set di dati.

      =HLOOKUP(B8, $B$1:$F$5, 5, FALSE)

      MATCH HLOOKUP

      Come il puro Hlookup, questa formula può cercare solo nella riga più alta, ma permette di inserire o eliminare righe in modo sicuro nella tabella di ricerca.

      =HLOOKUP(B8, $B$1:$F$5, MATCH($A$9, $A$1:$A$5, 0), FALSE)

      Dove A1:A5 sono intestazioni di riga e A9 è il nome della riga da cui si desidera ottenere le corrispondenze.

      PARTITA INDICE

      Può guardare in alto in qualsiasi riga e non presenta nessuna delle limitazioni delle formule precedenti.

      =INDICE($B$5:$F$5,(MATCH(B8,$B$1:$F$1,0))

      Ricerca bidimensionale (basata sui valori di riga e colonna)

      Ricerca bidimensionale (alias ricerca della matrice , doppia ricerca o Ricerca a 2 vie ) restituisce un valore basato sulle corrispondenze in entrambe le righe e le colonne. In altre parole, una formula di ricerca bidimensionale cerca un valore all'intersezione di una riga e di una colonna specificate.

      Supponendo che la tabella di ricerca sia A1:E6, che la cella H2 contenga il valore da abbinare alle righe e che la cella H3 contenga il valore da abbinare alle colonne, le formule seguenti funzioneranno perfettamente:

      Formula di MATCH INDEX MATCH :

      =INDICE($A$1:$E$6, MATCH(H2,$A$1:$A$6,0), MATCH(H3,$A$1:$E$1,0))

      Formula OFFSET MATCH MATCH :

      =OFFSET($A$1,MATCH(H2,$A$2:$A$6,0),MATCH(H3,$B$1:$E$1,0))

      Oltre alle formule di cui sopra, esistono altri modi per eseguire la ricerca di matrici in Excel; potete trovare tutti i dettagli in Come eseguire una ricerca a due vie in Excel.

      Ricerca tridimensionale

      La ricerca tridimensionale implica la ricerca in base a 3 diversi valori di ricerca. Nel set di dati riportato di seguito, supponiamo di voler cercare un anno specifico (H2), poi un nome specifico all'interno di quell'anno (H3) e infine restituire un valore per un mese specifico (H4).

      L'operazione può essere eseguita con la seguente formula di matrice (ricordarsi di premere Ctrl + Shift + Invio per completarla correttamente):

      =INDEX($A$1:$E$12,MIN(IF((ROW($A$1:$A$12)>MATCH(H2,$A$1:$A$12,0))*($A$1:$A$12=H3),ROW($A$1:$A$12),")),MATCH(H4,$A$1:$E$1,0))

      Ricerca con più criteri

      Per poter valutare più criteri, dovremo modificare la formula classica di Index Match in modo da trasformarla in una formula di array:

      INDICE( tabella_di_ricerca , MATCH(1, ( lookup_value1 = lookup_colonna1 ) * ( lookup_value2 = lookup_colonna2 )*..., 0), numero_colonna_ritorno )

      Con la tabella di ricerca in A1:C11, cerchiamo una corrispondenza in base a due criteri: cercare nella colonna A il valore nella cella F1 e nella colonna B il valore nella cella F2:

      =INDICE($A$1:$C$11, MATCH(1, (F1=$A$1:$A$11) * (F2=$B$1:$B$11),0), 3)

      Come di consueto, si preme Ctrl + Maiusc + Invio per valutare la formula come formula di matrice.

      Per una spiegazione dettagliata della logica della formula, vedere PARTITA INDICE per cercare con più criteri.

      Ricerca per restituire più valori

      Qualunque funzione di Excel Lookup si utilizzi (LOOKUP, VLOOKUP o HLOOKUP), può restituire solo una singola corrispondenza. Per ottenere tutte le corrispondenze trovate, si dovrebbero utilizzare 6 funzioni diverse combinate in una formula array:

      IFERROR(INDICE( intervallo_di_ritorno , SMALL(IF( valore_di_ricerca = intervallo_di_ricerca , ROW( intervallo_di_ritorno )- m ,""), ROW() - n )),"")

      Dove:

      • m è il numero della riga della prima cella dell'intervallo di ritorno meno 1.
      • n è il numero di riga della prima cella della formula, meno 1.

      Con il valore di ricerca situato nella cella E2, l'intervallo di ricerca in A2:A11, l'intervallo di ritorno in B2:B11 e la prima cella della formula nella riga 2, la formula di ricerca assume la forma seguente:

      =IFERROR(INDEX($B$2:$B$11, SMALL(IF($E$2 =$A$2:$A$11, ROW($B$2:$B$11 )- 1,""), ROW() - 1 )),")

      Affinché la formula restituisca più corrispondenze, è necessario inserirla nella prima cella (F2), premere Ctrl + Maiusc + Invio e quindi copiare la formula in altre celle della colonna.

      Per una spiegazione dettagliata della formula di cui sopra e di altri modi per restituire valori multipli, consultare Come Vlookup per restituire risultati multipli.

      Ricerca annidata (da 2 tabelle di ricerca)

      Quando la tabella principale e la tabella di ricerca da cui si desidera estrarre i dati non hanno una colonna in comune, è possibile utilizzare una tabella di ricerca aggiuntiva per stabilire le corrispondenze, come in questo caso:

      Per recuperare i valori dal file Importo colonna in Tabella_di_ricerca2 , si utilizza la seguente formula:

      =VLOOKUP(VLOOKUP(A2, Lookup_table1!$A$1:$B$6, 2, FALSE), Lookup_table2!$A$1:$B$6, 2, FALSE)

      Come mostrato nella schermata seguente, la nostra formula di ricerca annidata funziona perfettamente:

      Vlookup sequenziali da più fogli

      Per eseguire Vlookup sequenziali in base al successo o al fallimento di una precedente ricerca, utilizzare le funzioni IFERROR annidate insieme ai VLOOKUP per valutare più condizioni una alla volta:

      IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Non trovato"))

      Se il primo Vlookup fallisce, IFERROR cattura l'errore ed esegue un altro Vlookup. Se anche il secondo Vlookup non trova nulla, il secondo IFERROR cattura l'errore ed esegue il terzo Vlookup, e così via. Se tutti i Vlookup falliscono, l'ultimo IFERROR restituisce "non trovato" o qualsiasi altro messaggio fornito alla formula.

      A titolo di esempio, proviamo a estrarre l'importo da 3 fogli diversi:

      =IFERROR(VLOOKUP(B1,A6:B9,2,0), IFERROR(VLOOKUP(B1,D6:E9,2,0), IFERROR(VLOOKUP(B1,G6:H9,2,0), "Non trovato"))

      Il risultato sarà simile a questo:

      Per ulteriori informazioni, vedere Come utilizzare le funzioni IFERROR annidate in Excel.

      Ricerca sensibile alle maiuscole

      Come probabilmente saprete, tutte le funzioni di ricerca di Excel sono insensibili alle maiuscole e alle minuscole. Per forzare la formula di ricerca a distinguere tra testo minuscolo e maiuscolo, utilizzate LOOKUP o INDEX MATCH in combinazione con la funzione EXACT. Personalmente scelgo INDEX MATCH perché non richiede l'ordinamento dei valori nella colonna di ricerca come la funzione LOOKUP, può eseguire sia la ricerca da sinistra a destra che la ricerca da sinistra a destra.e le ricerche da destra a sinistra e funziona perfettamente per tutti i tipi di dati.

      INDICE( colonna_ritorno , MATCH(TRUE, EXACT( colonna_di_ricerca , valore_di_ricerca ),0))

      Con G2 come valore di ricerca, A - colonna con cui cercare e E - colonna da cui restituire le corrispondenze, la nostra formula di ricerca sensibile alle maiuscole è la seguente:

      =INDICE($E$2:$E$6, MATCH(TRUE, EXACT($A$2:$A$6,G2),0))

      Poiché si tratta di un formula dell'array Assicuratevi di premere Ctrl + Maiusc + Invio per completarlo correttamente.

      Per ulteriori esempi di formule, vedere Come eseguire una ricerca sensibile alle maiuscole in Excel.

      Ricerca di una corrispondenza parziale di stringhe

      La ricerca per corrispondenza parziale è uno dei compiti più impegnativi di Excel, per il quale non esiste una soluzione universale. La formula da utilizzare dipende dal tipo di differenze tra i valori di ricerca e i valori della colonna in cui si vuole effettuare la ricerca. Nella maggior parte dei casi, si utilizza la funzione SINISTRA, DESTRA o MEDIO per estrarre la parte comune dei valori, e poi si fornisce tale parte alla funzione valore_di_ricerca della funzione Vlookup, come nella formula seguente:

      =VLOOKUP(RIGHT(D2,4), $A$2:$B$6, 2, FALSE)

      Dove D2 è il valore di ricerca, A2:B6 è la tabella di ricerca e 2 è il numero di indice della colonna da cui restituire le corrispondenze.

      Per altri modi di eseguire una ricerca di corrispondenza parziale in Excel, vedere Come unire due fogli di lavoro per corrispondenza parziale.

      Ecco come si usano le funzioni Lookup in Excel. Per dare un'occhiata più da vicino alle formule discusse in questa esercitazione, potete scaricare i nostri esempi di formule Lookup in Excel.

      Modo privo di formule per eseguire ricerche in Excel

      Va da sé che la ricerca in Excel non è un compito banale. Se state muovendo i primi passi nel regno di Excel, le formule di ricerca possono sembrare piuttosto confuse e difficili da capire. Ma non scoraggiatevi: queste abilità non vengono naturali alla maggior parte degli utenti!

      Per semplificare le cose ai principianti, abbiamo creato uno strumento speciale, Unisci tabelle guidato, in grado di cercare, abbinare e unire tabelle senza una sola formula. Inoltre, offre una serie di opzioni davvero uniche di cui possono beneficiare anche gli utenti avanzati di Excel:

      • Ricerca per criteri multipli cioè utilizzare una o più colonne come identificatori univoci.
      • Aggiornamento valori nelle colonne esistenti e Aggiungi nuovo colonne dalla tabella di ricerca.
      • Ritorno corrispondenze multiple Se usato in combinazione con la procedura guidata Combina righe, può anche restituire più risultati in una singola cella, separati da virgole o altro (un esempio si trova qui).
      • E altro ancora.

      Lavorare con la procedura guidata di unione delle tabelle è facile e intuitivo. Tutto ciò che si deve fare è:

      1. Selezionare la tabella principale da cui si desidera estrarre i valori corrispondenti.
      2. Selezionare la tabella di ricerca da cui estrarre le corrispondenze.
      3. Definire una o più colonne comuni.
      4. Scegliere le colonne da aggiornare e/o aggiungere alla fine della tabella.
      5. È possibile selezionare una o più opzioni di fusione aggiuntive.
      6. Cliccare Finitura e avrete un risultato in un attimo!

      Se siete curiosi di provare il componente aggiuntivo sui vostri fogli di lavoro, potete scaricare una versione di prova della nostra Ultimate Suite, che include tutti i nostri strumenti di risparmio di tempo per Excel (in totale, oltre 70 strumenti e 300 funzioni!).

      Download disponibili

      Esempi di formule di ricerca in Excel (file .xlsx)

      Ultimate Suite 14 giorni versione completamente funzionale (file .exe)

      Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.