HLOOKUP関数 – 検索/行列

HLOOKUP関数 – 横方向に検索して値を取得する関数


1. 使い方と活用例

HLOOKUP関数は、指定した値を表の1行目から検索し、その列に対応する任意の行にある値を返す関数です。
「横方向(Horizontal)」の検索に特化しており、データが横に並んでいる場合に有効です。

2. 基本の書式

=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

3. 引数の説明

  • lookup_value – 検索したい値を指定します。1行目からこの値を探します。
  • table_array – 検索対象となる表の範囲を指定します。1行目に検索対象が含まれている必要があります。
  • row_index_num – 対応する値を返したい行番号を指定します(上から数えた番号)。
  • range_lookup(省略可能)– 検索方法を指定します。TRUEまたは省略時は近似一致、FALSEで完全一致検索となります。

4. 使用シーン

  • 年度別や月別のデータが横に並んでいる表から、特定の年・月のデータを取得したいとき
  • 商品コードや科目名が横方向に並ぶ一覧から、該当データを抽出したい場合
  • レポート形式の横長のデータセットで、特定の行の値を取得したい場合

5. 応用のポイント

HLOOKUP関数は、VLOOKUPと似ていますが、検索方向が「横」である点が特徴です。
検索範囲の1行目にlookup_valueが存在しないと正しく動作しないため、範囲の指定には注意が必要です。
また、近似一致(TRUE)を使用する場合は、1行目の値が昇順に並んでいる必要があります。

6. 具体例とその解説

=HLOOKUP("2024年", A1:F3, 2, FALSE)

この式では、A1~F3の範囲に年度ごとのデータが横方向に並んでいるとき、「2024年」を1行目から探し、
その列の2行目の値を返します。range_lookupにFALSEを指定しているため、完全一致で検索されます。

=HLOOKUP("売上", A1:D5, 3, TRUE)

この式では、「売上」に近い値を1行目から探し、3行目のデータを返します。
近似一致(TRUE)の場合は、1行目が昇順に並んでいる必要があります。

7. 関連関数の紹介

  • VLOOKUP関数 – 縦方向に検索して値を取得する関数
  • XLOOKUP関数 – VLOOKUPやHLOOKUPの機能を統合した新しい柔軟な検索関数
  • INDEX関数 – 指定した位置の値を返す関数
  • MATCH関数 – 値の位置(インデックス)を返す関数。INDEXと組み合わせて使用可能

8. まとめ

HLOOKUP関数は、横に並んだデータの中から特定の項目を検索し、対応する行の値を取得するために便利な関数です。
ただし、VLOOKUPと同様に静的な構造であるため、構造が変化しやすいシートにはXLOOKUP関数の使用がより適しています。
データの構造に応じて関数を使い分けることが大切です。

9. 対応バージョン

HLOOKUP関数は、Excelのすべてのバージョンで使用可能です。
ただし、Excel 365やExcel 2021以降では、より柔軟なXLOOKUP関数が推奨される場面が増えています。