指定したテーブルまたは配列 (配列 : 複数の結果を返す数式や、行および列範囲に入力された引数をまとめて処理する数式に使用される。配列範囲では、共通の数式が使用されます。配列定数は、引数として使用される定数の集まりです。)の上端行で特定の値を検索し、その値と同じ値が入力されている行と列の値を返します。HLOOKUP 関数は、比較する値がデータ テーブルの上端行に入力され、その位置から指定された行だけ下にある値を取り出す場合に使用します。比較する値が検索データの左端列にある場合は、VLOOKUP 関数を使用してください。
HLOOKUP 関数の "H" は、横方向 (horizontal) の検索を意味します。
書式
HLOOKUP(検索値,範囲,行番号,検索の型)
検索値 範囲の上端行で検索する値を指定します。検索値には、値、セル参照、または文字列を指定します。
範囲 目的のデータが含まれるテーブルを指定します。セル範囲の参照、またはセル範囲名を指定します。
-
範囲の上端行の列のデータは、文字列、数値、論理値のいずれでもかまいません。
-
検索の型に TRUE を指定した場合、範囲の上端行のデータは、昇順に並べ替えておく必要があります。並べ替えないと、正しく計算が行われません。昇順の並べ替えでは、数値は 1 〜 9、アルファベットは A 〜 Z、かなは "あ" 〜 "ん"、ブール型の値は FALSE から TRUE、日付は古い順に配列されます。検索の型に FALSE を指定した場合は、範囲のデータを並べ替えておく必要はありません。
-
英字の大文字と小文字は区別されません。
-
昇順、または行をキーにして列を配列するには、[データ] メニューの [並べ替え] をクリックします。[オプション] をクリックし、[方向] の [列単位] をクリックして [OK] をクリックします。[最優先されるキー] の並べ替える行をクリックし、[昇順] をクリックします。
行番号 目的のデータが入力されている行を、範囲内の上端から数えた行数で指定します。行番号に 1 を指定すると、範囲の上端行の値が返され、行番号に 2 を指定すると、範囲の上から 2 行目の値が返されます。行番号が 1 より小さいときは、エラー値 #VALUE! が返され、行番号が範囲の行数より大きいときは、エラー値 #REF! が返されます。
検索の型 検索値と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。TRUE を指定するか省略すると、検索値が見つからない場合に、検索値未満で最も大きい値が使用されます。FALSE を指定すると、検索値と完全に一致する値だけが検索され、見つからない場合はエラー値 #N/A が返されます。
解説
- 検索の型に TRUE を指定し、検索値が見つからない場合は、検索値未満で最も大きい値が使用されます。
- 検索値が範囲の上端行の最小値より小さい場合、エラー値 #N/A が返されます。
使用例
使用例を新規のワークシートにコピーすると、計算結果を確認できます。
その方法は?
- 新しいブックまたはワークシートを作成します。
- ヘルプ トピックにある使用例を選択します (行番号および列番号を除く)。

ヘルプから使用例を選択する
- Ctrl キーを押しながら C キーを押します。
- ワークシートのセル A1 を選択し、Ctrl キーを押しながら V キーを押します。
- 計算結果と結果を返す数式の表示を切り替えるには、Ctrl キーを押しながら ` (アクサン グラーブ) キーを押すか、または [ツール] メニューの [ワークシート分析] をポイントし、[ワークシート分析モード] をクリックします。
|
|
| A |
B |
C |
| ギア |
ベアリング |
ボルト |
| 4 |
4 |
9 |
| 5 |
7 |
10 |
| 6 |
8 |
11 |
| 数式 |
説明 (計算結果) |
| =HLOOKUP("ギア",A1:C4,2,TRUE) |
行 1 の "ギア" を検索し、同じ列の行 2 の値を返します (4) |
| =HLOOKUP("ベアリング",A1:C4,3,FALSE) |
行 1 の "ベアリング" を検索し、同じ列の行 3 の値を返します (7) |
| =HLOOKUP("ベ",A1:C4,3,TRUE) |
行 1 の "ベ" を検索し、完全に一致する値がないため、検索順がこれより前の文字列と同じ列の行 3 の値を返します (5) |
| =HLOOKUP("ボルト",A1:C4,4) |
行 1 のボルトを検索し、同じ列の行 4 の値を返します (11) |
| =HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE) |
配列定数の行 1 の 3 を検索し、同じ列の行 2 の値を返します (c) |
|