Funzione HLOOKUP di Excel con esempi di formule

  • Condividi Questo
Michael Brown

Come probabilmente saprete, Microsoft Excel dispone di tre funzioni per cercare un valore - LOOKUP, VLOOKUP e HLOOKUP - che sembrano confondere maggiormente gli utenti. In questa esercitazione ci concentreremo sulle specificità della funzione HLOOKUP di Excel e discuteremo alcuni esempi di formule che vi aiuteranno a utilizzarla nel modo più efficiente.

    Che cos'è HLOOKUP in Excel?

    La funzione HLOOKUP di Excel è stata progettata per ricerca orizzontale In particolare, cerca un determinato valore nella prima riga della tabella e restituisce un altro valore nella stessa colonna da una riga specificata dall'utente.

    La funzione HLOOKUP è disponibile in tutte le versioni di Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 e inferiori.

    Sintassi e usi di HLOOKUP di Excel

    La funzione HLOOKUP di Excel ha i seguenti argomenti:

    HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
    • Valore_di_ricerca (obbligatorio) - il valore da cercare, che può essere un riferimento di cella, un valore numerico o una stringa di testo.
    • Tabella_array (obbligatorio) - due o più righe di dati in cui viene ricercato il valore di ricerca. Può trattarsi di un intervallo regolare, di un intervallo con nome o di una tabella. I valori di ricerca devono sempre trovarsi nella cartella prima fila di tabella_array .
    • Numero_indice_di_fila (obbligatorio) - il numero di riga di table_array da cui deve essere restituito il valore. Ad esempio, per restituire il valore corrispondente alla seconda riga, impostare row_index_num su 2 e così via.
    • Ricerca_intervallo (opzionale) - un valore logico (booleano) che indica a HLOOKUP di effettuare una ricerca con corrispondenza esatta o approssimativa.

      Se VERO o omesso, un approssimativo Significa che se non viene trovata una corrispondenza esatta, la formula Hlookup eseguirà una corrispondenza non esatta e restituirà il valore più grande inferiore a lookup_value.

      Se FALSO, solo un corrispondenza esatta Se nessun valore in una riga specificata corrisponde esattamente al valore cercato, HLOOKUP lancia l'errore #N/A.

    Per semplificare la comprensione, è possibile tradurre la sintassi HLOOKUP di Excel:

    HLOOKUP( valore_di_ricerca , table_array , row_index_num , [range_lookup])

    in inglese normale:

    HLOOKUP( cercare questo valore , in questa tabella , restituire un valore da questa riga , [restituire una corrispondenza approssimativa o esatta])

    Per vedere come funziona in pratica, facciamo un semplice esempio di Hlookup. Supponiamo di avere una tabella con alcune informazioni di base sui pianeti del nostro sistema solare (vedere la schermata qui sotto). Quello che vogliamo è una formula che restituisca il diametro del pianeta il cui nome è inserito nella cella B5.

    Nella nostra formula Hlookup, utilizzeremo i seguenti argomenti:

    • Valore_di_ricerca è B5 - la cella contenente il nome del pianeta che si desidera trovare.
    • Tabella_array è B2:I3 - la tabella in cui la formula cercherà il valore.
    • Numero_indice_di_fila è 2 perché Diametro è la seconda riga della tabella.
    • Ricerca_intervallo è FALSO. Poiché la prima riga della nostra tabella non è ordinata dalla A alla Z, possiamo cercare solo con una corrispondenza esatta, che in questo esempio va benissimo.

    Ora si mettono insieme i ragionamenti e si ottiene la seguente formula:

    =VLOOKUP(40, A2:B15,2)

    3 cose da sapere sulla funzione HLOOKUP di Excel

    Ogni volta che si esegue una ricerca orizzontale in Excel, è bene ricordare i seguenti fatti:

    1. La funzione HLOOKUP può effettuare ricerche solo nella cartella riga più in alto di tabella_array Se si ha bisogno di cercare da qualche altra parte, si può utilizzare una formula di tipo Indice/Corrispondenza.
    2. HLOOKUP in Excel è senza distinzione tra maiuscole e minuscole non distingue tra maiuscole e minuscole.
    3. Se ricerca_intervallo è impostato su VERO o omesso ( approssimativo ), i valori della prima riga di tabella_array devono essere ordinati in ordine ascendente (A-Z) da sinistra a destra.

    Qual è la differenza tra VLOOKUP e HLOOKUP in Excel?

    Come già sapete, entrambe le funzioni VLOOKUP e HLOOKUP cercano un valore di ricerca. La differenza sta nel modo in cui viene eseguita la ricerca. Come avrete notato, i nomi delle funzioni differiscono solo per la prima lettera: "H" sta per orizzontale e "V" per verticale.

    Per questo motivo, si utilizza la funzione VLOOKUP per cercare è verticale quando i valori di ricerca si trovano in una colonna a sinistra dei dati che si desidera trovare.

    La funzione HLOOKUP esegue un ricerca orizzontale - cerca un valore di ricerca nella riga più alta della tabella e restituisce un valore situato un numero specifico di righe più in basso nella stessa colonna.

    L'immagine seguente mostra la differenza tra le formule Vlookup e Hlookup in Excel:

    Come utilizzare HLOOKUP in Excel - esempi di formule

    Ora che la funzione HLOOKUP inizia a sembrarvi un po' più familiare, vediamo qualche altro esempio di formula per consolidare le conoscenze.

    Ricerca orizzontale con corrispondenza approssimativa ed esatta

    Come già sapete, la funzione HLOOKUP di Excel può eseguire una ricerca con corrispondenza esatta e non esatta, a seconda del valore fornito al parametro ricerca_intervallo argomento:

    • VERO o omesso - approssimativo partita
    • FALSO - esatto partita

    Si tenga presente che, anche se si parla di "corrispondenza approssimativa", qualsiasi formula Hlookup cerca innanzitutto una corrispondenza esatta. Tuttavia, impostando l'ultimo argomento a FALSE, la formula restituisce una corrispondenza approssimativa (il valore più vicino che è inferiore al valore cercato) se non viene trovata una corrispondenza esatta; in questo caso, TRUE o omesso restituisce l'errore #N/A.

    Per illustrare meglio il punto, considerate i seguenti esempi di HLOOKUP.

    HLOOKUP con corrispondenza approssimativa

    Supponiamo di avere un elenco di pianeti nella riga 2 (B2:I2) e le loro temperature nella riga 1 (B1:I1). Si vuole scoprire quale pianeta ha una determinata temperatura che viene inserita nella cella B4.

    Non si può fare affidamento sulla possibilità che gli utenti conoscano esattamente la temperatura di ricerca, per cui ha senso restituire un valore di corrispondenza più vicina se non si trova un valore esatto.

    Ad esempio, per trovare il pianeta la cui temperatura media si aggira intorno ai -340 °F, utilizzare la seguente formula ( ricerca_intervallo impostato su VERO o omesso come in questo esempio):

    =HLOOKUP(B4, B1:I2, 2)

    Ricordate che una corrispondenza approssimativa richiede l'ordinamento dei valori nella riga superiore dal più piccolo al più grande o dalla A alla Z, altrimenti la formula Hlookup potrebbe restituire un risultato errato.

    Come si può vedere nella schermata seguente, la nostra formula restituisce Urano , uno dei pianeti più freddi del sistema solare, con una media di -346 gradi Fahrenheit.

    HLOOKUP con corrispondenza esatta

    Se si conosce esattamente il valore di ricerca, è possibile impostare l'ultimo parametro di HLOOKUP su FALSE:

    =HLOOKUP(B4, B1:I2, 2, FALSE)

    Da un lato, un Hlookup a corrispondenza approssimativa è più semplice da usare perché non richiede l'ordinamento dei dati nella prima riga, dall'altro, se non viene trovata la corrispondenza esatta, viene restituito un errore #N/A.

    Suggerimento: per non spaventare gli utenti con errori N/A, è possibile incorporare la formula Hlookup in IFERROR e visualizzare il proprio messaggio, ad esempio:

    =IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Spiacente, non è stato trovato nulla")

    Come eseguire HLOOKUP da un altro foglio di lavoro o cartella di lavoro

    In generale, h-lookup da un altro foglio o da un'altra cartella di lavoro non significa altro che fornire riferimenti esterni alla formula HLOOKUP.

    Per estrarre i dati corrispondenti da un file foglio di lavoro diverso , si specifica il nome del foglio seguito da un punto esclamativo, ad esempio:

    =HLOOKUP(B$1, Diametri!$B$1:$I$2,2,FALSO)

    Se il nome del foglio di lavoro contiene spazi o caratteri non alfabetici , racchiudere il nome tra virgolette singole, come in questo caso:

    =HLOOKUP(B$1, 'Diametri dei pianeti'!$B$1:$I$2,2,FALSE)

    Quando si fa riferimento un'altra cartella di lavoro includere il nome della cartella di lavoro racchiuso tra parentesi quadre:

    =HLOOKUP(B$1, [Book1.xlsx]Diametri!$B$1:$I$2, 2, FALSE)

    Se si prelevano i dati da una cartella di lavoro chiusa, è necessario specificare l'intero percorso:

    =HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diametri'!$B$1:$I$2, 2, FALSE)

    Suggerimento: invece di digitare manualmente i nomi della cartella di lavoro e del foglio di lavoro nella formula, è possibile selezionare le celle di un altro foglio ed Excel aggiungerà automaticamente un riferimento esterno alla formula.

    Excel HLOOKUP con corrispondenza parziale (caratteri jolly)

    Come nel caso di VLOOKUP, la funzione HLOOKUP di Excel permette di usare i seguenti caratteri jolly nel campo valore_di_ricerca argomento:

    • Punto interrogativo (?) per corrispondere a qualsiasi singolo carattere
    • Asterisco (*) per corrispondere a qualsiasi sequenza di caratteri

    I caratteri jolly sono utili quando si desidera estrarre informazioni da un database in base a un testo che fa parte del contenuto della cella di ricerca.

    Ad esempio, si dispone di un elenco di nomi di clienti nella riga 1 e di ID ordine nella riga 2. Si desidera trovare l'ID ordine di un cliente specifico, ma non si ricorda esattamente il nome del cliente, sebbene si ricordi che inizia con "ace".

    Supponendo che i dati siano nelle celle B1:I2 ( tabella_array) e i numeri d'ordine sono nella riga 2 ( numero_indice_file ), la formula è la seguente:

    =HLOOKUP("ace*", B1:I2, 2, FALSE)

    Per rendere la formula più flessibile, è possibile digitare il valore di ricerca in una cella speciale, ad esempio B4, e concatenare tale cella con il carattere jolly, in questo modo:

    =HLOOKUP(B4& "*", B1:I2, 2, FALSE)

    Note.

    • Affinché una formula HLOOKUP con caratteri jolly funzioni correttamente, il parametro ricerca_intervallo deve essere impostato su FALSE.
    • Se tabella_array contiene più di un valore che soddisfa i criteri del carattere jolly, viene restituito il primo valore trovato.

    Riferimenti di cella assoluti e relativi nelle formule HLOOKUP

    Se si sta scrivendo una formula per una singola cella, non ci si può preoccupare dell'uso corretto dei riferimenti di cella relativi e assoluti: entrambi vanno bene.

    Copiare una formula in più celle è un'altra cosa. In sostanza:

    • Si dovrebbe sempre riparare tabella_array utilizzando riferimenti assoluti alle celle con il segno del dollaro ($), come $B$1:$I$2.
    • In genere, il valore_di_ricerca è relativo o misto, a seconda della logica aziendale.

    Per chiarire le cose, diamo un'occhiata più da vicino alla formula che preleva i dati da un altro foglio:

    =HLOOKUP(B$1, Diametri!$B$1:$I$2,2,FALSO)

    Nella formula precedente, utilizziamo assoluto riferimenti di cella ($B$1:$I$2) in tabella_array perché deve rimanere costante quando la formula viene copiata in altre celle.

    Per valore_di_ricerca (B$1), utilizziamo un misto perché i nostri valori di ricerca (nomi di pianeti) si trovano nella stessa riga (riga 1) ma in colonne diverse (da B a I) e il riferimento alla colonna deve cambiare in base alla posizione relativa della cella in cui viene copiata la formula.

    Grazie all'uso intelligente dei riferimenti di cella, la nostra formula Hlookup funziona perfettamente per più celle:

    INDEX/MATCH - un'alternativa più potente a HLOOKUP di Excel

    Come già sapete, la funzione HLOOKUP di Excel ha una serie di limitazioni, le più significative delle quali sono l'impossibilità di cercare ovunque tranne che nella riga più alta e la necessità di ordinare i valori quando si effettua una ricerca con corrispondenza approssimativa.

    Fortunatamente, esiste un'alternativa più potente e versatile a Vlookup e Hlookup in Excel: l'unione delle funzioni INDEX e MATCH, che si riduce a questa formula generica:

    INDICE ( dove restituire un valore da , MATCH ( valore di ricerca , dove cercare , 0))

    Supponendo che il valore di ricerca sia nella cella B7, che si cerchi una corrispondenza nella riga 2 (B2:I2) e che si voglia restituire un valore dalla riga 1 (B1:I1), la formula è la seguente:

    =INDICE(B1:I1,MATCH(B7,B2:I2,0))

    Nella schermata qui sotto, si possono vedere 2 formule Hlookup che cercano nella prima e nella seconda riga e in entrambi i casi INDEX MATCH funziona ugualmente bene.

    Per una spiegazione dettagliata della logica della formula e per ulteriori esempi, consultare INDEX MATCH come alternativa migliore a VLOOKUP.

    Come fare un h-lookup sensibile alle maiuscole e minuscole in Excel

    Come indicato all'inizio di questa esercitazione, la funzione HLOOKUP di Excel è insensibile alle maiuscole e alle minuscole. Nelle situazioni in cui le maiuscole e le minuscole sono importanti, è possibile utilizzare la funzione EXACT che confronta le celle in modo esatto e inserirla nella formula INDEX MATCH descritta nell'esempio precedente:

    INDICE ( per restituire un valore da , MATCH(TRUE, EXACT( riga in cui cercare , valore di ricerca) , 0))

    Supponendo che il valore di ricerca sia nella cella B4, che l'intervallo di ricerca sia B1:I1 e che l'intervallo di ritorno sia B2:I2, la formula assume la forma seguente:

    =INDICE(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))

    Nota importante! Si tratta di una formula di matrice e quindi è necessario premere Ctrl + Maiusc + Invio per completarla.

    L'esempio precedente dimostra il mio modo preferito, ma non l'unico possibile, di fare un Hlookup sensibile alle maiuscole in Excel. Se siete curiosi di conoscere altre tecniche, date un'occhiata a questo tutorial: 4 modi per fare un Vlookup sensibile alle maiuscole in Excel. Penso che non avrete problemi a ricostruire le formule di Vlookup per un lookup orizzontale.

    I 10 motivi principali per cui HLOOKUP di Excel non funziona

    Ormai sapete che Hlookup è una funzione di ricerca molto utile e potente in Excel. È anche complicata e, a causa delle sue numerose specificità, gli errori #N/A, #VALORE o #REF sono molto comuni. Se la formula HLOOKUP non funziona correttamente, molto probabilmente è dovuto a uno dei seguenti motivi.

    1. HLOOKUP in Excel non può guardare al di sopra di sé stesso

    Anche se dimenticate tutti gli altri dettagli sulla ricerca orizzontale in Excel, ricordate questo fondamentale: Hlookup può cercare solo nella cartella riga più in alto Se i valori di ricerca si trovano in un'altra riga, viene restituito un errore N/A. Per superare questa limitazione, utilizzare una formula INDEX MATCH.

    2. Corrispondenza approssimativa vs. corrispondenza esatta

    Quando si esegue una ricerca in Excel, sia orizzontale (Hlookup) che verticale (Vlookup), nella maggior parte dei casi si cerca una cosa particolare e quindi si richiede una corrispondenza esatta. Quando si esegue una ricerca con una corrispondenza approssimativa ( ricerca_intervallo impostato su TRUE o omesso), ricordarsi di ordinare i valori della prima riga in ordine crescente.

    Per ulteriori informazioni ed esempi di formule, consultare Excel Hlookup con corrispondenza approssimativa ed esatta.

    3. Il riferimento alla matrice di tabelle cambia quando si copia la formula.

    Quando si utilizzano più HLOOKUP per recuperare le informazioni su una riga di valori di ricerca, è necessario bloccare il file tabella_array come dimostrato in Riferimenti di cella assoluti e relativi nelle formule Hlookup.

    4. Inserimento o eliminazione di una nuova riga

    Per capire perché l'inserimento di una nuova riga può interrompere una formula Hlookup, ricordate come HLOOKUP di Excel ottiene informazioni sul valore di ricerca, in base al numero di indice di riga specificato.

    Supponiamo di voler ottenere i dati di vendita in base all'ID del prodotto. Questi dati si trovano nella riga 4, quindi si digita 4 nel campo numero_indice_file Ma dopo l'inserimento di una nuova riga, questa diventa la riga 5... e Hlookup smette di funzionare. Lo stesso problema può verificarsi quando si elimina una riga esistente dalla tabella.

    La soluzione consiste nel bloccare la tabella per impedire agli utenti di inserire nuove righe, oppure nell'utilizzare INDEX &; MATCH invece di Hlookup. Nelle formule Index/Match si specificano le righe da cercare e da cui restituire i valori come riferimenti all'intervallo, non come numeri di indice, ed Excel è abbastanza intelligente da regolare tali riferimenti al volo.preoccuparsi di aggiornare tutte le formule del foglio di lavoro.

    5. Duplicati nella tabella

    La funzione HLOOKUP di Excel può restituire solo un valore, ovvero il primo valore della tabella che corrisponde al valore di ricerca.

    Se nella tabella sono presenti alcuni record identici, scegliete una delle seguenti soluzioni più adatte alle vostre esigenze:

    • Rimuovere i duplicati utilizzando i mezzi di Excel o il nostro Duplicate Remover.
    • Se i record duplicati devono essere mantenuti nel set di dati, creare una tabella pivot per raggruppare e filtrare i dati nel modo desiderato.
    • Utilizzare una formula di array per estrarre tutti i valori duplicati nell'intervallo di ricerca.

    6. Spazi extra

    Quando la formula Hlookup, ovviamente corretta, restituisce una serie di errori #N/A, controllate che la tabella e il valore di ricerca non contengano spazi aggiuntivi. Potete rimuovere rapidamente gli spazi iniziali, finali e intermedi in eccesso utilizzando la funzione TRIM di Excel o il nostro strumento Cell Cleaner.

    7. Numeri formattati come testo

    Le stringhe di testo che sembrano numeri sono un altro ostacolo per le formule di Excel. La descrizione dettagliata di questo problema e le possibili soluzioni sono descritte in Perché le formule di Excel possono smettere di funzionare.

    8. Il valore di ricerca supera i 255 caratteri

    Tutte le funzioni di ricerca di Excel funzionano solo se il valore di ricerca è inferiore a 255 caratteri. Un valore di ricerca più lungo provoca l'errore #VALORE! Poiché la formula INDEX /MATCH non presenta questa limitazione, è possibile utilizzarla per superare questo ostacolo.

    9. Il percorso completo della cartella di lavoro di ricerca non è specificato.

    Se si esegue l'h-lookup da un'altra cartella di lavoro, ricordarsi di fornire il percorso completo. Un paio di esempi di formule sono disponibili qui: Come eseguire l'h-lookup da un altro foglio di lavoro o cartella di lavoro.

    10. Argomenti sbagliati

    È già stato sottolineato più di una volta che HLOOKUP è una funzione impegnativa che deve essere trattata con grande attenzione. Di seguito sono riportati alcuni degli errori più comuni causati dalla fornitura di argomenti errati:

    • Se row_index_num è inferiore a 1, la funzione HLOOKUP restituisce l'errore #VALUE!
    • Se row_index_num è maggiore del numero di righe in table_array, viene restituito l'errore #REF!
    • Se si effettua una ricerca con corrispondenza approssimativa e il valore di ricerca è più piccolo del valore più piccolo nella prima riga di table_array, viene restituito l'errore #N/A.

    Ecco come usare HLOOKUP in Excel. Spero che queste informazioni vi siano utili. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!

    Scarica il libro di esercizi

    Esempi di formula HLOOKUP di Excel

    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.