クイックナビゲーション
HLOOKUP関数
概要
HLOOKUP関数は、テーブルの最上行で指定した値を検索し、同じ列の指定行から値を返します。横方向(水平方向)の検索に特化したLOOKUP関数で、主にヘッダー行からデータを探す際に使用します。
構文
HLOOKUP(検索値, 範囲, 行番号, [検索の型])
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| 検索値 | Any |
はい | テーブルの最上行で検索する値(数値、文字列、セル参照) |
| 範囲 | Range |
はい | 検索対象のテーブル範囲。最上行に検索値を含む必要あり |
| 行番号 | Number |
はい | 範囲内で値を返す行番号(1=最上行) |
| 検索の型 | Boolean |
いいえ | TRUE=近似一致(省略可)、FALSE=完全一致 |
HLOOKUP関数の使用
HLOOKUPは、表の最上段に項目名があり、下の行にデータが格納されている表形式のデータで、項目名から値を検索する際に最適です。売上表の商品名から数量や金額を取得するなどの用途で活用されます。
HLOOKUPの一般的な例
基本的な商品検索
=HLOOKUP("ボルト",A1:C4,3,FALSE)
A1:C4の表で「ボルト」を最上行から検索し、3行目の値を完全一致で返します。
近似一致検索
=HLOOKUP("ベ",A1:C4,3,TRUE)
「ベ」未満の最大値(「軸」)の列から3行目の値を返します。
配列定数使用
=HLOOKUP(3,{1,2,3;"ア","イ","ウ";"カ","キ","ク"},2,TRUE)
配列定数内で数値3を検索し、2行目の対応値を返します。
よくある質問
HLOOKUPは最上行を検索(水平方向)、VLOOKUPは最左列を検索(垂直方向)します。
TRUE(近似一致)が適用され、範囲は昇順に並んでいる必要があります。
#REF!エラーが返されます。
一般的なエラーと解決策
#N/Aエラー
Cause: 検索値が見つからない(FALSE時)または範囲の最小値より小さい(TRUE時)
Solution: 検索値を確認するか、範囲を拡大する
#REF!エラー
Cause: 行番号が範囲の行数を超えている
Solution: 行番号を範囲内の最大値(最終行)に修正
#VALUE!エラー
Cause: 行番号が1未満、または無効なデータ型
Solution: 行番号に正しい数値を入力
注記
- 範囲の最上行は昇順で並べ替える(TRUE時)
- 大文字小文字は区別されません
- ワイルドカード(? *)はFALSE時のみ文字列で使用可能
- ~記号でワイルドカードをエスケープ
- XLOOKUP関数がより柔軟な代替として推奨
互換性
利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365
利用不可:
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+