Funzione CERCA.ORIZZ di Excel - Cerca un riferimento orizzontalmente

Scarica esempio di cartella di lavoro

Scarica la cartella di lavoro di esempio

Questo tutorial mostra come usare il Funzione CERCA.ORIZZ di Excel in Excel per cercare un valore.

Panoramica della funzione CERCA.ORIZZ

La funzione HLOOKUP Hlookup sta per ricerca orizzontale. Cerca un valore nella riga superiore di una tabella. Quindi restituisce un valore un numero specificato di righe in basso rispetto al valore trovato. È lo stesso di un vlookup, tranne per il fatto che cerca i valori orizzontalmente anziché verticalmente.

(Notare come appaiono gli input della formula)

Sintassi e input della funzione CERCA.ORIZZ:

1 =CERCA.ORIZZ(valore_ricerca,array_tabella,num_indice_riga,ricerca_intervallo)

valore di ricerca - Il valore che vuoi cercare.

matrice di tabella -La tabella da cui recuperare i dati.

num_indice_riga - Il numero di riga da cui recuperare i dati.

range_lookup -[opzionale] Un booleano per indicare la corrispondenza esatta o la corrispondenza approssimativa. Predefinito = TRUE = corrispondenza approssimativa.

Che cos'è la funzione CERCA.ORIZZ?

Essendo una delle funzioni più vecchie nel mondo dei fogli di calcolo, viene utilizzata la funzione CERCA.ORIZZ. horizzontale Ricerche. Presenta alcune limitazioni che vengono spesso superate con altre funzioni, come INDEX/MATCH. Inoltre, la maggior parte delle tabelle è costruita in modo verticale, ma alcune volte è utile eseguire la ricerca in orizzontale.

Esempio di base

Diamo un'occhiata a un campione di dati da un registro dei voti. Affronteremo diversi esempi per estrarre informazioni per studenti specifici.

Se vogliamo trovare in quale classe si trova Bob, scriveremo la formula:

1 =CERCA.ORIZZ("Bob", LA1:MI3, 2, FALSO)

Le cose importanti da ricordare sono che l'articolo che stiamo cercando (Bob), deve trovarsi nella prima riga del nostro intervallo di ricerca (A1: E3). Abbiamo detto alla funzione che vogliamo restituire un valore dal 2ns riga dell'intervallo di ricerca, che in questo caso è la riga 2. Infine, abbiamo indicato che vogliamo fare un corrispondenza esatta ponendo False come ultimo argomento. Qui, la risposta sarà "Lettura".

Suggerimento laterale: Puoi anche usare il numero 0 invece di False come argomento finale, poiché hanno lo stesso valore. Alcune persone preferiscono questo perché è più veloce da scrivere. Sappi solo che entrambi sono accettabili.

Dati spostati

Per aggiungere qualche chiarimento al nostro primo esempio, l'elemento di ricerca non deve essere nella riga 1 del tuo foglio di calcolo, ma solo nella prima riga dell'intervallo di ricerca. Usiamo lo stesso set di dati:

Ora, troviamo il voto per la classe di Scienze. La nostra formula sarebbe

1 =CERCA.ORIZZ("Scienza", LA2:MI3, 2, FALSO)

Questa è ancora una formula valida, poiché la prima riga del nostro intervallo di ricerca è la riga 2, che è dove verrà trovato il nostro termine di ricerca "Scienza". Stiamo restituendo un valore dal 2ns riga dell'intervallo di ricerca, che in questo caso è la riga 3. La risposta quindi è "A-".

Utilizzo dei caratteri jolly

La funzione CERCA.ORIZZ supporta l'uso dei caratteri jolly "*" e "?" quando si effettuano ricerche. Ad esempio, diciamo che abbiamo dimenticato come si scrive il nome di Frank e volevamo solo cercare un nome che inizia con "F". Potremmo scrivere la formula

1 =CERCA.ORIZZ("F*", LA1:MI3, 2, FALSO)

Questo sarebbe in grado di trovare il nome Frank nella colonna E, e quindi restituire il valore da 2ns relativa riga. In questo caso, la risposta sarà "Scienza".

Corrispondenza non esatta

La maggior parte delle volte, ti consigliamo di assicurarti che l'ultimo argomento in CERCA.ORIZZ sia False (o 0) in modo da ottenere una corrispondenza esatta. Tuttavia, ci sono alcune volte in cui potresti cercare una corrispondenza non esatta. Se disponi di un elenco di dati ordinati, puoi anche utilizzare CERCA.ORIZZ per restituire il risultato per l'elemento uguale o successivo più piccolo. Questo è spesso usato quando si ha a che fare con intervalli di numeri crescenti, come in una tabella delle tasse o nei bonus delle commissioni.

Supponiamo che tu voglia trovare l'aliquota fiscale per un reddito inserito nella cella H2. La formula in H4 può essere:

1 =CERCA.ORIZZ(H2, B1:F2, 2, VERO)

La differenza in questa formula è che il nostro ultimo argomento è "Vero". Nel nostro esempio specifico, possiamo vedere che quando il nostro individuo inserisce un reddito di $ 45.000 avrà un'aliquota fiscale del 15%.

Nota: Sebbene di solito desideriamo una corrispondenza esatta con False come argomento, dimentichi di specificare il 4ns argomento in una CERCA.ORIZZ, il valore predefinito è True. Ciò può causare risultati imprevisti, specialmente quando si tratta di valori di testo.

Riga dinamica

CERCA.ORIZZ richiede di fornire un argomento che dica da quale riga si desidera restituire un valore, ma potrebbe verificarsi l'occasione in cui non si sa dove sarà la riga o si desidera consentire all'utente di modificare la riga da cui tornare. In questi casi, può essere utile utilizzare la funzione CONFRONTA per determinare il numero di riga.

Consideriamo di nuovo il nostro esempio di registro dei voti, con alcuni input in G2 e G4. Per ottenere il numero di colonna, potremmo scrivere una formula di

1 =CONFRONTA(SOL2, LA1:LA3, 0)

Questo cercherà di trovare la posizione esatta di "Grado" all'interno dell'intervallo A1:A3. La risposta sarà 3. Sapendo questo, possiamo inserirla in una funzione CERCA.ORIZZ e scrivere una formula in G6 in questo modo:

1 =CERCA.ORIZZ(G4, A1:E3, CONFRONTA(G2, A1:A3, 0), 0)

Quindi, la funzione CONFRONTA verrà valutata a 3 e ciò indica a CERCA.ORIZZ di restituire un risultato da 3rd riga nell'intervallo A1: E3. Nel complesso, otteniamo quindi il risultato desiderato di "C". La nostra formula ora è dinamica in quanto possiamo cambiare la riga da guardare o il nome da cercare.

Limitazioni di HLOOKUP

Come accennato all'inizio dell'articolo, il più grande svantaggio di CERCA.ORIZZ è che richiede che il termine di ricerca si trovi nella colonna più a sinistra dell'intervallo di ricerca. Mentre ci sono alcuni trucchi fantasiosi che puoi fare per superare questo problema, l'alternativa comune è usare INDEX e MATCH. Questa combinazione ti dà più flessibilità e a volte può anche essere un calcolo più veloce.

CERCA.ORIZZ in Fogli Google

La funzione CERCA.ORIZZ funziona esattamente come in Fogli Google come in Excel:

Note aggiuntive

Utilizzare la funzione CERCA.ORIZZ per eseguire una ricerca orizzontale. Se hai già familiarità con la funzione CERCA.VERT, un CERCA.VERT funziona esattamente allo stesso modo, tranne che la ricerca viene eseguita orizzontalmente anziché verticalmente. CERCA.ORIZZ cerca una corrispondenza esatta (range_lookup = FALSE) o la corrispondenza più vicina uguale o inferiore a lookup_value (range_lookup = TRUE, solo valori numerici) nella prima riga di table_array. Quindi restituisce un valore corrispondente, n numero di righe sotto la corrispondenza.

Quando si utilizza un CERCA.ORIZZ per trovare una corrispondenza esatta, prima si definisce un valore identificativo che si desidera cercare come valore di ricerca. Questo valore identificativo potrebbe essere un SSN, un ID dipendente, un nome o un altro identificatore univoco.

Quindi definisci l'intervallo (chiamato matrice di tabella) che contiene gli identificatori nella riga superiore e tutti i valori che alla fine desideri cercare nelle righe sottostanti. IMPORTANTE: gli identificatori univoci devono trovarsi nella riga superiore. In caso contrario, devi spostare la riga in alto o utilizzare CONFRONTA/INDICE invece di CERCA.ORIZZ.

Terzo, definire il numero di riga (indice_riga) di matrice di tabella che desideri restituire. Tieni presente che la prima riga, contenente gli identificatori univoci, è la riga 1. La seconda riga è la riga 2, ecc.

Infine, devi indicare se cercare una corrispondenza esatta (FALSE) o una corrispondenza più vicina (TRUE) nel campo range_lookup. Se viene selezionata l'opzione di corrispondenza esatta e non viene trovata una corrispondenza esatta, viene restituito un errore (#N/A). Per fare in modo che la formula restituisca uno spazio vuoto o "non trovato" o qualsiasi altro valore invece del valore di errore (#N/D) utilizzare la funzione SEERRORE con CERCA.ORIZZ.

Per utilizzare la funzione CERCA.ORIZZ per restituire un set di corrispondenze approssimativo: range_lookup = VERO. Questa opzione è disponibile solo per i valori numerici. I valori devono essere ordinati in ordine crescente.

HLOOKUP Esempi in VBA

Puoi anche usare la funzione CERCA.ORIZZ in VBA. Tipo:
application.worksheetfunction.hlookup(lookup_value,table_array,row_index_num,range_lookup)

Esecuzione delle seguenti istruzioni VBA

123456 Intervallo("G2")=Application.WorksheetFunction.HLookup(Range("C1"),Range("A1:E3"),1)Intervallo("H2")=Application.WorksheetFunction.HLookup(Range("C1"),Range("A1:E3"),2)Range("I2")=Application.WorksheetFunction.HLookup(Range("C1"),Range("A1:E3"),3)Intervallo("G3")=Application.WorksheetFunction.HLookup(Range("D1"),Range("A1:E3"),1)Intervallo("H3")=Application.WorksheetFunction.HLookup(Range("D1"),Range("A1:E3"),2)Intervallo("I3")=Application.WorksheetFunction.HLookup(Range("D1"),Range("A1:E3"),3)

produrrà i seguenti risultati

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

Torna all'elenco di tutte le funzioni in Excel

wave wave wave wave wave