エクセル関数辞典 エクセル関数辞典

HLOOKUP関数の使い方|横方向の検索をマスター

HLOOKUP 検索 参照 横方向 Excel関数
広告スペース (article-top)

HLOOKUP関数は、横方向(水平方向)にデータを検索する関数です。VLOOKUPが縦方向のデータ検索に使われるのに対し、HLOOKUPは行方向に並んだデータから値を取得する場面で活躍します。月別データや曜日別データなど、横に展開されたテーブルで特に便利です。

HLOOKUP関数の基本構文

=HLOOKUP(検索値, 範囲, 行番号, [検索の型])

引数の説明

引数説明必須/任意
検索値検索する値。範囲の先頭行から探す必須
範囲検索対象のセル範囲。先頭行に検索値が含まれる必要がある必須
行番号範囲の先頭行から数えて何行目の値を返すかを指定必須
検索の型FALSEで完全一致、TRUEまたは省略で近似一致任意

VLOOKUPの「列番号」が「行番号」に変わっただけで、基本的な考え方は同じです。

VLOOKUPとの違い

項目VLOOKUPHLOOKUP
検索方向縦方向(列)横方向(行)
検索値の位置範囲の左端列範囲の先頭行
結果の指定列番号行番号
適したデータ縦に並んだリスト横に並んだテーブル

実践例1:月別売上データから特定月の値を取得

横方向に月が並んだ売上データから、指定した月の売上を取得します。

1行目:(空白)、1月、2月、3月、4月、5月、6月

2行目:売上、120000、150000、180000、160000、200000、190000

3行目:経費、80000、90000、100000、95000、110000、105000

=HLOOKUP("3月", B1:G3, 2, FALSE)

先頭行(B1:G1)から「3月」を検索し、2行目(売上行)の値を返します。結果は180000です。

実践例2:経費データの取得

同じ表から経費を取得する場合は、行番号を変更するだけです。

=HLOOKUP("3月", B1:G3, 3, FALSE)

行番号を3に変更することで、3行目の経費(100000)が返されます。

実践例3:セル参照で月を動的に切り替える

検索値にセル参照を使い、月を自由に切り替えられるようにします。

=HLOOKUP(A10, B1:G3, 2, FALSE)

A10に月名を入力すると、対応する売上が自動的に表示されます。ドロップダウンリストと組み合わせると、さらに使いやすくなります。

実践例4:IFERRORとの組み合わせ

検索値が見つからない場合のエラー処理です。

=IFERROR(HLOOKUP(A10, B1:G3, 2, FALSE), "データなし")

存在しない月名を入力した場合に「データなし」と表示し、#N/Aエラーを回避します。

実践例5:年度と月を組み合わせた検索

INDEX+MATCH関数と組み合わせて、行方向と列方向の両方を動的に検索する例です。

=INDEX(B2:G4, MATCH(A10, A2:A4, 0), MATCH(B10, B1:G1, 0))

A10に行のラベル(売上・経費など)、B10に月名を入力すると、交差するデータが返されます。HLOOKUPだけでは行の指定が固定になるため、より柔軟な検索にはINDEX+MATCHが適しています。

よくあるエラーと対処法

#N/Aエラー

最も一般的なエラーです。以下の原因を確認してください。

  • 検索値が先頭行にない: HLOOKUPは範囲の1行目のみを検索する。検索値が先頭行にあるか確認する
  • 全角・半角の不一致: 「1月」と「1月」は異なる値として扱われる
  • 余分なスペース: セルの前後に見えないスペースが入っている場合がある。TRIM関数で除去する

#REFエラー

行番号が範囲の行数を超えている場合に発生します。たとえば、3行の範囲に対して行番号4を指定するとエラーになります。

近似一致による意図しない結果

検索の型を省略した場合、既定値のTRUE(近似一致)が適用されます。完全一致で検索したい場合は必ずFALSEを指定してください。

HLOOKUP関数の利用が減っている理由

近年のExcelでは、HLOOKUP関数の利用頻度が減少しています。その理由は以下の通りです。

  • データは縦方向に管理するのが一般的: データベースやテーブル機能では、データを列方向に格納する設計が標準的
  • XLOOKUP関数で代替可能: XLOOKUP関数は縦横どちらの検索にも対応しているため、HLOOKUPを使う必要性が減っている
  • INDEX+MATCH関数でも対応可能: より柔軟な検索が可能

ただし、月別集計表やカレンダー形式のデータなど、横方向にデータが並ぶ場面ではHLOOKUPがシンプルに記述できます。

Google スプレッドシートでの互換性

HLOOKUP関数はGoogle スプレッドシートでも同じ構文で利用できます。引数や動作はExcelと同一です。Google スプレッドシートでは近似一致の動作がExcelと若干異なる場合があるため、FALSEを明示的に指定することを推奨します。

まとめ

HLOOKUP関数は、横方向に並んだデータから値を検索する関数です。

  • VLOOKUPの横方向版として、先頭行を検索して指定行のデータを返す
  • 検索の型はFALSEを指定して完全一致検索を行うのが基本
  • IFERRORと組み合わせてエラー処理を行う
  • より柔軟な検索が必要な場合はXLOOKUPやINDEX+MATCHも検討する

横方向のデータ検索が必要な場面では、シンプルに記述できるHLOOKUPが依然として有用です。

広告スペース (article-bottom)

あわせて読みたい