HLOOKUP関数 範囲を横方向に検索し値を返す

関数名 HLOOKUP
分類 検索/行列
説明 範囲を横方向に検索し値を返す
バージョン -
カテゴリ Excel関数一覧

ここでの解説は、特に説明がない限り、Excelをインストールし、初期設定のまま使用した場合の動作を基に解説しています。

書式

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

1 - 検索値 ----- テーブルの上端行で検索する値を指定します。英字の大文字と小文字は区別されません。
2 - 範囲 ----- 検索するセル範囲を指定します。
3 - 行番号 ----- 一致する値を返すセル範囲内の行番号を指定します。
4 - [検索の型] ----- (省略可) 検索方法を論理値で指定します。「TRUE」を指定するか省略した場合は、近似値が返されます。


解説

例えば、セルに図の様な値が入力されているとします。
Excel関数
「=HLOOKUP("売上",A1:C4,3,FALSE)」を入力します。
Excel関数
セル範囲A1:C4の1行目から文字列「売上」を検索し、一致した列(C列)にある3行目の値を返します。
Excel関数
「=HLOOKUP("*名",A1:C4,3,FALSE)」を入力します。
Excel関数
セル範囲A1:C4の1行目から文字列「*名」を検索し、一致した列(A列)にある3行目の値を返します。
Excel関数
1つめの引数に指定した「"*名"」にある「*」は1文字以上の任意の文字列を表しています。
これを「ワイルドカード」といいます。
ワイルドカードには、「?」と「*」が使用でき、「?」は任意の1文字を表します。
つまり、「"*名"」は、1文字以上の文字列の後に「名」という文字列が入力されたセルを検索する、という条件になります。
これを、「"?名"」とした場合は、任意の1文字の後に「名」という文字列が入力されたセルを検索する、という条件になります。
「"名"」とした場合は、「名」という文字列が入力されたセルを検索する、という条件になります。
「?」や「*」を文字として検索条件に指定したい場合には、「~?」や「~*」と「~」半角のチルダを付けます。

例えば、セルに図の様な値が入力されているとします。
Excel関数
「=HLOOKUP(75,A1:E2,2,TRUE)」を入力します。
Excel関数
セル範囲A1:E2の1行目から値「75」を検索します。
値「75」と完全一致するセルが見つからないため、「75」よりも小さい値の中で最も大きい値であるC列の「70」が使用されます。
その結果C列にある2行目の値を返します。
Excel関数


注意事項

・行番号が1より小さい場合、エラー値 #VALUE! が返されます。
・行番号がセル範囲の行数より大きい場合は、エラー値 #REF! が返されます。
・検索の型に「TRUE」を指定した場合、範囲の上端行のデータは、昇順に並べ替えておく必要があります。
・検索の型に「TRUE」を指定し、検索値が見つからない場合は、検索値未満で最も大きい値が使用されます。
・検索の型に「FALSE」を指定し、検索値が見つからない場合は、エラー値 #N/A が返されます。
・検索値が範囲の上端行の最小値より小さい場合、エラー値 #N/A が返されます。


メモ

HLOOKUP は Horizontal LOOKUP


関連する関数

LOOKUPVLOOKUP