アイキャッチ

横並びの行データにVLOOKUP関数を使いたい!

というシチュエーションがあると思います。ですが、実は横並びしている行データ表にはVLOOKUP関数は使うことができません。

こういうときにはHLOOKUP関数を使います。

今日は「ExcelのHLOOKUP関数で横並びのデータをVLOOKUPする方法」を紹介してきたいと思います!

HLOOKUP関数の使い方(横並びの行データをVLOOKUP形式で取り出す)

HLOOKUP関数とは?VLOOKUP関数との違いは

HLOOKUP関数の公式

=HLOOKUP(検索値 , 範囲 , 行番号 [ , 検索方法 ])

指定した「範囲」のなかで最上段にあたる行から「検索方法」に従って「検索値」を検索し、一致したデータ列から「行番号」で指定した位置の値を抽出する


検索方法

完全一致なら:「0」または「FALSE」と入力

近似値一致なら:「1」または「TRUE」と入力するか入力を省略

公式をみていただくとわかるように、VLOOKUP関数と仕組みはほとんど変わりません。

ですが、1つだけ違う点があります。
取り出したいデータの位置を指定する記述部分が列番号ではなく「行番号」になっている点です。

HLOOKUP関数は、横に並んだ行データを検索して一致するデータの同列から値を抽出したい場合に使います。

VLOOKUPとHLOOKUPの違い

  • VLOOKUPは縦(列)データに使う
  • HLOOKUPは横(行) データに使う

ではでは本題には入ります。
HLOOKUP関数の使い方を解説していきますよ~!

HLOOKUP関数を使って行データを取り出してみよう

例)以下のような横並びの行データがあります。商品取り寄せ希望欄(7行目)の商品コードが店舗在庫(2行目)にあるかないかみて在庫数を確認したい
HLOOKUP関数の例

この表からHLOOKUP関数を使ってデータを取り出していきます。

まずはセルC9に入力するHLOOKUP関数の指定内容を確認しましょう

検索値 :C7
範囲 : $B$2:$G$4
列番号 : 3
検索方法 : 0(完全一致で検索)

範囲:関数式をコピーした時にずれないように絶対参照にしときます
列番号:在庫数を取り出したいので範囲中の上から3行目を選択

これらを公式にあてはめると
=HLOOKUP(C7,$B$2:$G$5,3,0)
となる
HLOOKUP関数を入力

ちなみにこの式を言葉で表すと「C7のデータをB2:G4の範囲から完全一致で探して、データがあれば範囲中の3行目のデータを返してください」という指示式になっています

指定した条件のデータが返ってきましたね
HLOOKUP関数の解・戻り値の表示

セルC9に入力した関数式をオートフィル機能でセルF9まで横にコピーしちゃいます

※また範囲は「$」を使って絶対参照にしているのでコピー時に参照がずれてしまうことはありません
オートフィル機能で関数コピー

 これですべてのセルにHLOOKUP関数のデータ処理が反映されましたね
HLOOKUP関数でデータ処理完了

「#N/A」はエラーです。つまり「一致するデータを探したけど見つからなかったよ!」ということになります

このエラー文字の字面が気になる方は「#N/A」を別の文字に置き換えて表示させる方法も次の章で紹介するのでチェックしてくださいね。

このようにHLOOKUP関数を使えば、横並びの行データ相手にもVLOOKUP関数のように目的のデータを取り出すことができます。

「#N/A」のエラー表示を違う文字に置き換えて表示させる方法

関数計算で算出されたエラー表示(#N/A)を別の文字に置き換えて表示させたい場合には、「IFERROR関数」を使います。

IFERROR関数の公式

=IFERROR(値 ,エラーの場合の値)

「値」がエラーとなる場合は「エラーの場合の値」を表示し、エラーにならない場合は「値」を表示する

値:関数式、数式、参照を使うことができる
エラーの場合の値:文字列、関数式、数式を使うことができる

ではさっそく、IFERROR関数を使ってエラー表示を置き換えてみましょう!

例)前章のHLOOKUP関数の例で表示された「#N/A」を「該当なし」という文字列に置き換えて表示させるようにしていく(使用した関数式は:=HLOOKUP(C7,$B$2:$G$5,3,0))
HLOOKUP関数の例で算出したデータ

セルD9のエラー表示を「該当なし」と表示させるために関数を入れてきます(その他のセルも問題なく表示されるか確認するためセルC9~F9すべてにこの関数を入力してみましょう)

まずセルC9に入力するIFERROR関数の指定内容を確認しましょう

値: HLOOKUP(C7,$B$2:$G$5,3,0)
エラーの場合の値: "該当なし"

値にはデータを出すのに使用した関数式を入力する
関数内で文字列を指定するときは文字の両端を「”」で囲む

以上の内容を公式にあてはめると
=IFERROR(HLOOKUP(C7,$C$2:$H$4,3,0),"該当なし")

となる
IFERROR関数でエラー文字を置き換える

あとはオートフィル機能でセルF9まで関数式をコピーするだけでOK

「#N/A」が「該当なし」に代わって表示されるようになりましたね!その他のデータも問題なく処理されています
IFERROR関数でのデータ処理完了

「エラーの場合の値」はこのような文字列だけではなく、関数式や数式を使うこともできますよ。

IFERRORは第三者にデータを見せるときなど、見た目を綺麗に整えたい場合などに便利です!

この記事を見ている人におすすめ


以上、HLOOKUP関数で横並びの行データでデータを取り出す方法を紹介してきました。

エラー表示を置き換える方法もなかなか使える小ワザなのでぜひ試してみてくださいね!