2015年12月31日木曜日

【エクセル関数】HLOOKUP関数とVLOOKUP関数

みなさんHLOOKUP関数って使いますか?

多分使わないし、そもそも何?って方もおられるのではないでしょうか。
でもこれが「VLOOKUP関数って使いますか?」ということでしたら結構な人がつかってるよと言ってくれるのではないでしょうか?

今回はそんなLOOKUP関数兄弟の話です。

まずVLOOKUP関数から

◼︎VLOOKUP(検索値, 範囲, 列番号, [検索の型])
範囲指定の右端の列から検索値を探し出して、見つけ出したセルの行から指定された列番号分右に行ったセルの値を検索します。[検索の型]はオプショナルでTRUE(検索値近似一致;1で代用可)かFALSE(検索値完全一致;0で代用可)を指定します。通常は近似値を検索してくるというのは意外と厄介なのでFALSEを指定することが多いでしょう。

◼︎VLOOKUP関数の用法
下図に支社コードにエリアと電話番号、代表者を持った電力事業者や通信事業者にありがちなの支社データのようなものを用意しました。

これをB12セルの支社コードを元にB13セルに代表者を取得しようとすると、図のように
=VLOOKUP($B12,$B$3:$E$7,4,FALSE)
という風になります。
ちなみに絶対参照を使っているのは、B12セルをそのままコピーしてB13セルに貼り付けても範囲指定がずれないようにするためです。


じゃあ本題のHLOOKUP関数ってなんだよと言いますと、簡単に申しますとHLOOKUPの縦列と横列が逆になったものと考えてください。

こんな感じです。

◼︎HLOOKUP(検索値, 範囲, 列番号, [検索の型])
範囲指定の上端の列から検索値を探し出して、見つけ出したセルの列から指定された行番号分下に行ったセルの値を検索します。[検索の型]はVLOOKUPと同様の使い方です。

◼︎HLOOKUP関数の用法
下図にVLOOKUPの時に使用したデータの縦列と横列を入れ替えたデータを用意しました。

同様にこれをB9セルの支社コードを元に代表者名を取得しようとすると、図のように
=HLOOKUP($B9,$C$2:$F$5,4,0)
という風になります。


さて、そんなHLOOKUP関数ですが、特殊な事情がない限り使われません。
そもそも項目を縦向きに並べて横にレコードを積み重ねていくことが普通ないからです。

ただし、使う場面になると結構役立つのでそんな関数があったなと覚えておいて損はないですよ。