ピアのパソコン学習ガイド
メニュー
Excel関数

HLOOKUP関数の使い方|横に並んだ表から値を探す

ピアのパソコン学習ガイド 編集部2026年11月9日 更新

※写真はイメージです

書き方はこれだけ

=HLOOKUP(探す値, 範囲, 上から何行目, FALSE)

HLOOKUPは、VLOOKUPの横向き版です。範囲のいちばん上の行で探して、同じ列の下の行の値を返します。見出しが横に並んだ表(料金表、月ごとの表)から値を持ってくるときに使います。書き方はVLOOKUPとまったく同じで、「何列目」が「何行目」に変わるだけです。

いちばん上の行で「月8時間」を探して、上から2行目(月謝)を返す D5 fx =HLOOKUP(B5,$B$1:$D$3,2,FALSE) A B C D 1 2 3 4 5 コース 月4時間 月8時間 月16時間 月謝 7,700 12,100 19,800 1時間あたり 1,925 1,513 1,238 選んだコース 月8時間 月謝 12,100
3つ目の「2」は、範囲のいちばん上の行を1として数えます。シートの2行目ではありません。

この図の表をExcelファイルでダウンロード(問題と答えのシートつき)

VLOOKUPとの違い

VLOOKUPHLOOKUP
探す場所範囲の左端の列範囲のいちばん上の行
3つ目左から何列目上から何行目
向いている表1行に1件(名簿・商品一覧)見出しが横に並ぶ表(料金表・月別の表)

正直、仕事の表はほとんどが縦長なので、HLOOKUPの出番はVLOOKUPより少ないです。ただ、料金表や月別の集計表のような横長の表を、わざわざ縦に作り直す必要はないので、そういうときに使えば大丈夫です。

Microsoft 365・Excel 2021以降なら、XLOOKUPは縦にも横にも使えます。=XLOOKUP(B5,B1:D1,B2:D2) で同じ結果になって、何行目かを数えなくて済みます。

よく使う例

やりたいこと式
料金表からコースの月謝を出す=HLOOKUP(B5,$B$1:$D$3,2,FALSE)
月別の表から、指定した月の売上を出す=HLOOKUP("11月",$B$1:$M$5,3,FALSE)
見つからないときは空欄=IFERROR(HLOOKUP(B5,$B$1:$D$3,2,FALSE),"")

うまくいかないとき

1#N/A になる

いちばん上の行に探す値がありません。空白や全角・半角の違いが多いです。

直し方見出しと探す値を同じ書き方にそろえます。

2#REF! になる

3つ目の行数が、範囲の行数より大きくなっています。

直し方範囲を下まで広げるか、行数を直します。

3下にコピーしたら範囲がずれた

範囲に $ が付いていません。

直し方範囲を選んで F4 キーで $B$1:$D$3 にします。

サンプルファイルで試す

黄色のセルにHLOOKUPの式を入れて、「答え」のシートと比べてください。

hlookup.xlsx をダウンロード(無料・登録なし)

よくある質問

HLOOKUP関数とは?

範囲のいちばん上の行で値を探して、同じ列の下の行の値を返す関数です。VLOOKUPの横向き版です。

HLOOKUPとVLOOKUPの違いは?

VLOOKUPは左端の列で探して右の列を返し、HLOOKUPはいちばん上の行で探して下の行を返します。

HLOOKUPの3つ目は何を書きますか?

範囲のいちばん上の行を1として、上から何行目の値を返すかを書きます。

HLOOKUPのかわりに使える関数は?

Microsoft 365・Excel 2021以降なら、XLOOKUPが縦にも横にも使えます。

一緒に覚えたい関数・操作

このページについて

操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報