エクセルHLOOKUP関数で行で検索!使い方の基本~応用

エクセルHLOOKUP関数は、範囲の一番上の行から値を検索し、同じ列にある、指定した行番号から値を返す関数です。HLOOKUP関数とVLOOKUP関数は、検索して値を返すという点はよく似ていますが、HLOOKUP関数とVLOOKUP関数は検索する方向が違います。VLOOKUP関数は、指定した範囲の左端の列で検索値を探します。VLOOKUP関数は縦方向に検索し、HLOOKUP関数は横方向に検索して、指定した行番号の値を返す関数です。HLOOKUP関数の使い方を、VLOOKUP関数とよく間違いやすいですが、違いを理解して正しく使いましょう。

 

 

HLOOKUP関数

エクセルHLOOKUP関数は、指定した範囲の1番上の行で検索値を探し、指定した行番号と同じ列にある値を返します。検索値には、値、参照、文字列を指定できます。

HLOOKUP関数の書式と引数

HLOOKUP(検索値, 範囲, 行番号, [検索の型])

検索値 検策する値を指定します。検索値は範囲の一番上の行で検索します。
範囲 検索する範囲を指定します。その場合、検索する値をテーブルの一番上にします。
行番号 範囲内の行番号です。指定した行番号の行の値が返されます。
検索の型 FALSEまたは”0”を指定すると、一致する値のみ返されます。一致する値が見つからない場合は、エラー値#N/A が返されます。TLUEまたは”1”を指定すると完全一致の値、または近似値が返されます。省略した場合もTRUEになります。完全一致の値が見つからないと、検索値未満の最大値が返されます。

 

 

HLOOKUP関数の使い方

エクセルHLOOKUP関数で検索する、基本的な使い方です。

「商品名」で検索して、右の表から「3級」の金額を、B列の「金額」の項目に表示します。

 

B4に、式を入力しましょう。

B4 =HLOOKUP(A4,$E$3:$H$6,4,FALSE)

B4の式は、A列「商品名」を検索値として、範囲「E3:H6」の一番上の行「商品名」を検索して値を返しています。

B4には「1,800」が返されます。

B4の式を、下にドラッグしましょう。

B列に、「金額」が表示されます。

HLOOKUP関数で式をコピーする場合は、範囲が動かないように「E3:H6」を絶対値にしましょう。

 

 

HLOOKUP関数で複数条件で検索

エクセルHOOKUP関数では、複数条件で検索することができます。

 

C4に、式を入力しましょう。

HLOOKUP関数で、A列「姓」とB列「名前」の2つの条件で検索し、C列に「担当科目」を返します。

C4 =HLOOKUP(A4&” ”&B4,$F$3:$H$6,4,FALSE)

C4の式は検索値を、A列「姓」と「” “」(空白)とB列「名前」を「&」(アンパサンド)で結合して、範囲「F3:H6」の一番上の行から検索しています。

C4には、「数学」が返されます。

C4の式を、下にドラッグしましょう。

C列に、「担当科目」が表示されました。

 

 

HLOOKUP関数でワイルドカードを使って検索

エクセルHOOKUP関数ではワイルドカードを使って検索することができます。

 

B2に、式を入力しましょう。

商品の3級の「金額」を、表示してみましょう。

B2 =HLOOKUP(A2&”*”,$E$1:$G$4,4,FALSE)

B2の式は、A列「商品名」検索値にワイルドカードを使って検索しています。「A2&”*”」は「Aから始まる文字列」を表しています。範囲「E1:G4」の一番上の行「商品名」をあいまい検索して値を返しています。

B2には、「5,000」が返されます。

B2の式を、下にドラッグしましょう。

B列に、3級の「金額」が表示されます。

検索条件に使えるワイルドカード
ワイルドカード 説明
任意の文字列を検索
? 任意の 1 文字を検索
~ ? や * の前につけて、ワイルドカード「*」「?」を検索

 

VLOOKUP関数で縦方向に検索

エクセルHLOOKUP関数は検索して値を返す関数ですが、VLOOKUP関数と使い方がよく似ています。HLOOKUP関数は横方向に検索しますが、VLOOKUP関数は縦方向に検索する関数です

どちらかというと、VLOOKUP関数の方が、使う頻度が高いです。ですが、データの並びによっては、HLOOKUP関数が活躍します。縦方向の検索、横方向の検索、どちらでもできるようにHLOOKUP関数の使い方を取得しましょう。VLOOKUP関数もHLOOKUP関数も、複数条件で値を検索したり、検索値にワイルドカードを使って値を返すこともできます。

こちらの記事もご覧ください。⇒エクセルIF関数とVLOOKUP関数で別シートを参照する方法