Excelでよく使われる関数のひとつに「HLOOKUP」があります。これは、横方向に並んだデータから指定した情報を取り出すための関数です。VLOOKUP(縦方向検索)は有名ですが、HLOOKUPはあまり知られていないかもしれません。しかし、特定のデータ形式では非常に便利で、知っておくと作業効率がぐんと上がります。この記事では、HLOOKUP関数の基本から応用まで、具体例とともにわかりやすく解説します。関数に不慣れな方でも理解できる内容となっていますので、ぜひ最後までご覧ください。
HLOOKUP関数とは?
HLOOKUP関数は、指定した値を横方向(行)に検索し、見つかった位置に対応する行のデータを返す関数です。名前の「H」は「Horizontal(水平)」の略で、横方向の検索に特化しています。
構文は以下のとおりです。
コピーする編集する=HLOOKUP(検索値, 範囲, 行番号, [検索の型])
引数 | 説明 |
---|---|
検索値 | 検索したい値(文字列や数値) |
範囲 | 検索するデータ範囲(表全体) |
行番号 | 返したいデータがある行(範囲内での相対位置) |
検索の型 | TRUE(近似一致)またはFALSE(完全一致) |
HLOOKUPの基本的な使い方
たとえば、以下のような成績表があるとします。
項目 | A | B | C |
---|---|---|---|
名前 | 田中 | 鈴木 | 高橋 |
国語 | 80 | 90 | 70 |
数学 | 85 | 75 | 95 |
「田中さんの数学の点数」をHLOOKUPで取得したい場合、次のように関数を記述します。
=HLOOKUP("田中", A1:C3, 3, FALSE)
この関数は、「A1~C3」の範囲で1行目(名前)から「田中」を探し、3行目の同じ列にある値(数学の点数:85)を返します。
HLOOKUPを使うときの注意点
HLOOKUPにはいくつか注意すべきポイントがあります。
検索対象の値は1行目にある必要がある
HLOOKUPは必ず1行目(範囲内の最上段)を検索します。検索対象の値が2行目や3行目にある場合は正しく動作しません。
行番号は範囲内での相対位置
行番号は実際のシートの行番号ではなく、「指定範囲内での上から何行目か」です。たとえば、範囲が「B2:E5」なら、最初の行(B2:E2)が「1行目」とカウントされます。
完全一致か近似一致かを指定する
引数「検索の型」をTRUE(省略時もTRUE)にすると近似一致になり、FALSEにすると完全一致になります。誤った設定をすると、意図しない値が返ることがあります。
HLOOKUPの応用例①:商品コードから価格を取得
以下のような商品一覧表があったとします。
商品コード | A001 | A002 | A003 |
---|---|---|---|
商品名 | ペン | ノート | 消しゴム |
価格 | 100 | 200 | 150 |
セルに「A002」と入力し、対応する価格(200)を表示したい場合:
=HLOOKUP("A002", A1:D3, 3, FALSE)
この関数は「商品コードA002」を1行目から探し、3行目の同じ列(価格)を返します。
HLOOKUPの応用例②:日付ごとのデータ抽出
次のような日付ごとの売上データがあります。
日付 | 5/1 | 5/2 | 5/3 |
---|---|---|---|
店舗A | 1000 | 1200 | 900 |
店舗B | 800 | 1100 | 1000 |
「5/2」の「店舗B」の売上を取得するには:
=HLOOKUP(DATE(2025,5,2), A1:D3, 3, FALSE)
または、セルに日付が入力されているなら:
=HLOOKUP(A5, A1:D3, 3, FALSE)
このように、日付や時間をキーとする表でもHLOOKUPは効果的に使えます。
VLOOKUPとの違いと使い分け
比較項目 | HLOOKUP | VLOOKUP |
---|---|---|
検索方向 | 横(行) | 縦(列) |
よく使われる場面 | 見出しが横方向の表 | 見出しが縦方向の表 |
表のレイアウト | 横長 | 縦長 |
どちらも似た機能ですが、表の構造に応じて使い分けることが大切です。HLOOKUPはあまり使われない印象があるかもしれませんが、特定のレイアウトでは非常に便利です。
HLOOKUPが使えないときの代替方法
HLOOKUPは簡単に使える反面、以下のような制限があります。
- 検索対象が1行目に限定される
- 検索値が見つからないとエラーになる
- 位置がずれると不正確になる
これらの制約を回避するためには、「INDEX」と「MATCH」の組み合わせを使う方法があります。
たとえば、
=INDEX(A2:D4, 3, MATCH("田中", A1:D1, 0))
これは「田中」の位置をMATCHで取得し、その列・行の交差点の値(数学の点数)をINDEXで返します。
まとめ:HLOOKUPを正しく使いこなそう
HLOOKUP関数は、横方向に並んだデータの中から、特定の値を検索して対応するデータを取得するのに非常に役立ちます。VLOOKUPに比べて使う場面が限られているように見えますが、表の構造次第ではとても強力なツールになります。
正しい構文と注意点、そして実践的な使用例をおさえることで、日々のExcel業務がより効率的になります。表の構造が横方向である場合には、ぜひHLOOKUPの活用を検討してみてください。