【Excel】HLOOKUP関数を使って横長の表からデータを取り出そう【知っ得】

作業効率化
この記事は約5分で読めます。

ビジネス能力検定サーティファイの Excel®表計算処理技能認定試験2級の問題集の知識問題を問いていると、いくつかの関数の知識が問われる場面に遭遇しました。

その関数とはHLOOKUP関数DAVERAGE関数CHOOSE関数の3つです。それぞれ日をまたいで解説していきたいと思います。

というわけで今日は、HLOOKUP関数について解説したいと思います。これと同様の頻度で使用される関数としてVLOOKUP関数があります。

横長の表からデータを取るのであればHLOOKUP関数縦長の表からデータを取るのであればVLOOKUP関数と覚えましょう。

スポンサーリンク

HLOOKUP関数について解説するための下準備

横長の表を用意する

内容は適当でいいのですが、とは言えルールがありますので、このような横長の表を作ればいいということを覚えておいてください。次のような表を用意します。

HLOOKUP関数を使って横長の表からデータを取り出そう

HLOOKUP関数の構文について

HLOOKUP関数の構文について触れておきます。数式バーの左側のfxというマークから関数を呼び出すのが一番楽なのですが、直接セルに関数を打ち込むことも可能です。

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

これが構文となります。

そして、上の用意した表について解説致しますと、B4:G5の範囲が元となる横長の表となります。B4:G5A8:D18の範囲の表を参照してHLOOKUP関数を使用します。

まずはD9の受注先を求めたいので、D9HLOOKUP関数を使用する場合、検索値=C9、範囲=$B$4:$G$5、行番号=2、検索方法=FALSEとします。

検索値がなぜC9なのか?

これは、指定された範囲の表の受注No.の値、つまりC4:G4を元に検索を行うからだと考えます。D9受注先を表示したいため、この表では、検索値の指定はC9となっています。

また、この表では参照する検索値は数字となっていますが、別に文字列であっても構いません。

範囲がなぜ$B:$Gなのか?

HLOOKUP関数で使用する表の範囲として、B4:G5を指定するのはなんとなく理解できますよね?しかし、なぜ$マークを付けているのでしょうか?

これはズバリ、$マークを付けることで範囲の行が固定されるので、次のD10~D18の範囲へのコピーが楽に行えるからです。

ちなみに$マークを付けるには、B4:G5という文字を全選択してF4キーを押すと反映されます。

行番号がなぜ2なのか?

これは参照したい値(ここでは受注先)が、元とする表の上から数えて何番目かを指定するというルールがあるからです

受注No.が1番目、受注先が2番目となっていますので参照したい値は2となるわけです。

検索方法がなぜFALSEなのか?

これは一部一致であればTRUE完全一致であればFALSEを使用するというルールがあるためです。ルールルールとうるさいようですが、ルールに縛ることで関数は簡略化して表現できるのです。

今回は受注先は企業ですので、完全一致しないと別会社の場合も含まれてしまいますので、完全一致としました。ケースバイケースで使い分けてください。

HLOOKUP関数を呼び出す

数式バーの左側のfxという関数を呼び出すマークをクリックします。

関数の分類すべて表示にして、関数名に表示された関数を適当にクリックし、HLOOKUPの頭文字のHLを素早く打ち込みます。するとHLOOKUP関数のところにフォーカスが動きますので、OKをクリックします。

するとHLOOKUP関数の入力画面が開きますので、HLOOKUP関数の構文についてのところで指定した値を入力していきます。

すると次のようになります。#N/Aというなにやら見慣れないものが表示されましたね。これはNot Applicable(該当なし)またはNot Available(利用不可)の略で、該当なしということを表しています。

HLOOKUP関数にひと手間加える

これはちょっと見づらいというかバグっぽく見えるので、数式バーにちょっと工夫を加えてすっきりと見やすくしてあげましょう

=HLOOKUP(C9,$B$4:$G$5,2,FALSE)

これを、

=IF(C9=””, “”, HLOOKUP(C9,$B$4:$G$5,2,FALSE))

と書き換えてみましょう。これは受注No.欄が「空白」のとき受注先欄に「空白」を指定するという意味になります。

受注No.を設定する

では、C9~C18の範囲に、受注No.を設定していきましょう。

この状態ではまだD9にしか値が反映されていませんね。受注先のすべての範囲に値を反映させていきます。

オートフィルを使って値を反映させる

表があらかたできあがっていれば、オートフィルで値を反映させることができます。オートフィルって便利な技なんです。

最後に

いかがでしたでしょうか?
これでHLOOKUP関数を使って横長の表からデータを取り出す方法の解説は終わりです。ちょっと難しかったでしょうか?でも、意外と簡単でしたでしょう?

難しいと感じても、覚えてしまえば、後は簡単!野となれ山となれ(違う)

白川秋
白川秋

ではでは、参考までに。

おまけ

サーティファイの Excel®表計算処理技能認定試験2級を受験するにあたり、これさえ買っておけば必ず受かるといっても過言ではない一冊の本をオススメ致します。

それがこちら。

私も購入させていただき、大変お世話になっております。

コメント

タイトルとURLをコピーしました