
Excelで「表の1行目から値を検索して、下の行から該当データを取得したい」場合に便利なのが HLOOKUP関数 です。
VLOOKUPは縦方向に検索しますが、HLOOKUPはその名のとおり、横方向(Horizontal)に検索します。
この記事では、HLOOKUP関数の基本構文から使い方、VLOOKUPとの違い、実務に役立つ活用例までわかりやすく解説します。
目次
HLOOKUP関数とは?
- 読み方:エイチ・ルックアップ関数
- 用途:指定した値を1行目から横方向に検索し、対応する行のデータを取得する関数
構文
=HLOOKUP(検索値, 範囲, 行番号, [検索方法])
引数 | 説明 |
---|---|
検索値 | 1行目で探したい値(例:月、IDなど) |
範囲 | 検索対象となる表範囲 |
行番号 | 返したいデータが含まれる行の番号(1行目が1) |
検索方法(省略可) | TRUE=近似一致、FALSE=完全一致(通常はFALSEがおすすめ) |
基本的な使い方
例1:月名に応じて売上を取得する

=HLOOKUP("3月", A1:E3, 2, FALSE)
→ A1:E3 の表で、1行目から「3月」を探し、2行目の値を返します。
例2:セルを使った動的検索
=HLOOKUP(B1, A1:E3, 3, FALSE)
→ B1に入力された月名に応じて、3行目のデータを取得できます。
VLOOKUPとの違い
比較項目 | HLOOKUP関数 | VLOOKUP関数 |
---|---|---|
検索方向 | 横方向(行) | 縦方向(列) |
検索場所 | 1行目 | 1列目 |
データ構成 | 横長表に向いている | 縦長表に向いている |
応用パターン
1. 複数の月データから任意の月の値を抽出
=HLOOKUP(F1, A1:M3, 2, FALSE)
→ F1に「6月」と入力 → 6月のデータを2行目から抽出
2. IFERROR関数と組み合わせてエラーを非表示に
=IFERROR(HLOOKUP(B1, A1:E3, 2, FALSE), "該当なし")
→ 存在しない月名を入力しても、エラーが表示されず「該当なし」となる
3. データ入力規則+HLOOKUPの連携
- プルダウンで月を選び → HLOOKUPで売上データ表示
=HLOOKUP(D1, A1:L3, 2, FALSE)
よくある注意点
注意点 | 解説 |
---|---|
行番号が表範囲を超えるとエラーになる | #REF! が表示されるので行数に注意 |
完全一致を使うなら引数は FALSE に | デフォルトでは近似一致になるため間違った結果の可能性あり |
行数の指定は「範囲内の相対行数」 | たとえば =HLOOKUP("3月", A1:E3, 2) の「2」は2行目を指す |
まとめ|HLOOKUP関数で横方向の検索を効率化しよう
HLOOKUP関数を使えば、横方向に展開されたデータから特定の情報を簡単に取り出すことができます。
- VLOOKUPとは逆方向の検索処理が可能
- 1行目にラベルが並ぶデータに最適
- IFERRORや入力規則との組み合わせで使い勝手アップ
表が横に並んでいるときはHLOOKUPが最適な選択肢です。ぜひ状況に応じて使い分けてみましょう。
関連リンク
- 【解説】ExcelのVLOOKUP関数とは?縦方向にデータを検索して取得する方法
- 【解説】ExcelのIF関数とは?条件によって処理を分ける基本構文
- 【解説】ExcelのIFERROR関数とは?エラー表示を整える方法
- Excel関数一覧|よく使う関数まとめ
コメント