HLOOKUP関数の使い方|横方向に検索して売上を取り出す

HLOOKUP関数の使い方|横方向に検索して売上を取り出す
目次

はじめに

Excelで表形式のデータから特定の値を検索する際、VLOOKUP関数と並んでよく使われるのがHLOOKUP関数です。VLOOKUP関数が縦方向の検索を行うのに対し、HLOOKUP関数は横方向の検索を行います。この記事では、HLOOKUP関数の基本的な使い方から応用までを、画像例を交えて詳しく解説します。

VLOOKUP の基本(書き方・別シート・#N/A を出さない方法・一致しない原因)は、エクセルのVLOOKUPの使い方にまとめています。

基本の使い方:年度から売上の合計を取り出す

手順:B11 に HLOOKUP の式を入れて Enter

年度ごとの売上の表から、B10 の年度(2018年)の合計を取り出します。見出しが横に並んでいるので、横に探す HLOOKUP を使います。 B11 に次の式を入力して、Enter キーを押します❶。

B11 に入れる式
=HLOOKUP(B10,B2:F7,6,FALSE)
B10 検索値(年度)B2:F7 範囲(売上の表)6 行番号(合計)FALSE 検索方法(完全一致)
ひとことで「2018年」を表のいちばん上の行で探し、その列の6 行目(合計)を取り出す
式を分けて読むと(色は画像の枠と同じ)
検索値B10
何を探す?
→ B10 の「2018年」
範囲B2:F7
どの表で探す?
→ 年度の見出しから合計までの表
行番号6
上から何行目?
→ 6 行目の合計
検索方法FALSE
どう探す?
→ 完全に同じものだけ
自分の表で使うときは
オレンジに「探す見出し」、青に「見出しの行を上にした表」、紫に「取り出したい行が上から何行目か」を入れます。例:月(H1)の列から、表の 3 行目の値=HLOOKUP(H1,$B$1:$M$5,3,FALSE)
  • 行番号は「シートの行番号」ではなく、範囲の上から数えます(ここでは 2 行目の見出しが 1)。
エクセルのHLOOKUP関数で年度から売上の合計を取り出す式と、検索値・範囲・行番号を色分けした画面
エクセルのHLOOKUP関数で年度から売上の合計を取り出す式と、検索値・範囲・行番号を色分けした画面

確認:12,893 は 2018年の列の 6 行目(合計)

エクセルのHLOOKUP関数で、2018年の列を見つけてその6行目の合計12,893を取り出したことを色で示した画面
エクセルのHLOOKUP関数で、2018年の列を見つけてその6行目の合計12,893を取り出したことを色で示した画面

答えは 12,893 になりました❷。式は、次の順に計算しています。

  1. 表のいちばん上の行(B2:F2)から、「2018年」を探す
    ⇒ E 列
  2. その列の、範囲の上から 6 行目(合計)を取り出す
    ⇒ 12,893
ヒント:縦に探すなら VLOOKUP
見出しが縦(左の列)に並んでいる表は VLOOKUP、横(上の行)に並んでいる表は HLOOKUP を使います。B10 を「2016年」にすると 10,600 になります。

HLOOKUP関数とは?

HLOOKUP関数は、「Horizontal Lookup(水平検索)」の略で、表の最上段の行で特定の値を検索し、同じ列の指定した行から値を返す関数です。

基本的な構文

Excel

HLOOKUP関数の構文
数式=HLOOKUP(検索値,範囲,行番号,[検索の型])
ひとことで横に探して値を返す
検索値
探す値です
範囲
表の範囲です
行番号
行番号です
[検索の型]
検索の型です

各引数の意味は以下の通りです。

  • 検索値(必須): 検索する値を指定します。画像例では、セルB10の「2018年」が検索値です。
  • 範囲(必須): 検索対象となるセル範囲を指定します。画像例では、B2:F7の「売上数推移」の表全体が範囲です。
  • 行番号(必須): 返す値がある行の番号を指定します。「範囲」の最上段の行を1として、下に行くにつれて2、3と増えていきます。画像例では「6」が指定されており、最下段の「合計」行の値が返されます。
  • 検索の型(省略可能):
    • TRUE(または1):近似一致。検索値が見つからない場合、検索値以下の最大の値が使用されます。「範囲」の最上段の行は昇順に並べ替えられている必要があります。
    • FALSE(または0):完全一致。検索値と完全に一致する値のみが返されます。通常はFALSE(0)を使用します。画像例では「FALSE」が指定されています。

<Excelサンプルデータダウンロード>
Excel HLOOKUP関数:横方向のデータ検索をマスター!表引きを効率化

画像例の具体的な解説

画像例では、セルB11に以下の数式が入力されています。

Excel

HLOOKUP関数の式
数式=HLOOKUP(B10,B2:F7,6,FALSE)
ひとことで横に探して値を返す
B10
探す値です
B2:F7
表の範囲です
6
行番号です
FALSE
検索の型です

この数式は、以下の処理を行っています。

1
セルB10に入力されている「2018年」を検索値として使用します。
2
B2:F7の範囲(売上数推移表)を検索範囲として検索を行います。
3
最上段の行(2行目)から「2018年」を探します。
4
「2018年」が見つかった列(E列)の6行目(Excelの7行目)の値、つまり合計値「12,893」を返します。
5
完全一致で検索を行います。

画像では、「2018年」の合計値「12,893」が正しく表示されていることが確認できます。

年度の見出しから合計の売上を取り出す(HLOOKUP)式 =HLOOKUP(B10,B2:F7,6,FALSE) の解説図。B11に入力する
B11に =HLOOKUP(B10,B2:F7,6,FALSE) を入力。見出しで 2018年 を探す → E列で見つかる その列の6行目 → 12,893

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

Excelのサンプルデータダウンロード

以下は、上記画像のExcelデータですので、ダウンロードして練習などに使用してください。

練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

HLOOKUP関数の活用例

  • 商品名から価格を検索(商品名が横方向に並んでいる場合)
  • 日付から売上データを検索(日付が横方向に並んでいる場合)
  • 支店名から支店情報を検索(支店名が横方向に並んでいる場合)

HLOOKUP関数の注意点

  • 並べ替え: 近似一致検索(検索の型にTRUEまたは1を指定)を使用する場合、「範囲」の最上段の行は必ず昇順に並べ替えてください。並べ替えられていない場合、正しい結果が得られません。
  • 検索値が見つからない場合: 完全一致検索(検索の型にFALSEまたは0を指定)で検索値が見つからない場合、#N/Aエラーが返されます。
  • 大文字・小文字の区別: 英字の大文字と小文字は区別されません。

【実機で検証】行を挿入すると HLOOKUP の結果はどうなるか

4 月と 5 月の売上の表に行を挿入したときの動きと、HLOOKUP のエラーを Excel の実機で試しました。

エクセルで行を挿入するとHLOOKUPの結果が4月の値に変わりXLOOKUPは5月の値のままの画面
エクセルで行を挿入するとHLOOKUPの結果が4月の値に変わりXLOOKUPは5月の値のままの画面
場面結果対処
表の途中に行を挿入する別の行の値に変わる(50→20、エラーなし)行番号を直す。XLOOKUP なら変わらない
第4引数を省略する#N/A(FALSE なら 50)FALSE を指定する
行番号が範囲の行数を超える#REF!範囲の行数以内にする
行番号が 0#VALUE!1 以上にする
上から 2 行目以降の値で探すHLOOKUP は #N/AXLOOKUP(50,A4:D4,A1:D1) なら探せる

行番号は、行を挿入しても自動で変わりません。挿入したあとは範囲だけが A1:D4 に広がり、行番号の 3 は同じ 3 のままなので、エラーが出ないまま別の行の値を返しました。

第4引数を省略すると、並べ替えていない表では、見出しにある「みかん」でも #N/A になりました。ワイルドカード(”み*”)は FALSE の指定で使えました。

VLOOKUP関数とHLOOKUP関数の使い分け

特徴VLOOKUP関数HLOOKUP関数
検索方向縦方向(列)横方向(行)
検索対象範囲の左端の列範囲の最上段の行
主な用途縦にデータが並んだ表の検索横にデータが並んだ表の検索

まとめ

HLOOKUP関数は、VLOOKUP関数と対になる関数で、横方向のデータ検索に非常に役立ちます。特に、表の最上段の行に検索したい値が並んでいる場合に有効です。VLOOKUP関数とHLOOKUP関数を適切に使い分けることで、Excelでのデータ検索作業を効率化できます。

この解説で、HLOOKUP関数についてより深く理解できたかと思います。この情報を活用し、Excelでのデータ分析をより効率的に行いましょう。

VLOOKUP関数と関連する検索関数の使い分けは、こちらのまとめで整理しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次