ITライター 立山秀利
表を横方向に検索してデータを取り出したい場合、VLOOKUP関数は使えないので、HLOOKUP関数を使う必要がある。今回は同関数の基本的な使い方を解説する。
おなじみのVLOOKUP関数だが、表の1列目を縦方向にしか検索できないという制限がある。例えば図1のような表がA6~E11セルにあるとする。A4セルに入力した製品の型番から、合致する画面サイズを表から検索し、B4セルに取り出したいとする。検索対象となる型番はB6~E6セルに横方向に並んでいるため、VLOOKUP関数は使えない。
図1
そこで利用したいのがHLOOKUP関数だ。表を横方向で検索し、指定した行にあるデータを取り出す関数である。機能や使い方のイメージは、VLOOKUP関数の縦横を入れ替えた関数と言える。書式は次の通りである。
---------------------------------------------
=HLOOKUP(検索値, 範囲, 行番号, 検索方法)
検索値 :検索する値
範囲 :表のセル範囲
行番号 :データを取り出したい行の番号
検索方法 :完全一致ならFALSEを指定
---------------------------------------------
引数「検索方法」には、通常は完全一致で検索するのでFALSEを指定する。TRUEをl指定、もしくは省略すると近似一致で検索することになる。
また、注意点としては、検索対象の行は必ず表における先頭の行(1行目)でなければならないので、あらかじめ表の構成をそのように整えておく必要がある。
それでは、図1の表でHLOOKUP関数を実際に使ってみよう。引数「検索値」には、調べたい型番が入力されるA4セルを指定する。引数「範囲」には、目的の表のセル範囲としてB6~E11セルを指定する。見出しのA列を含めていないが、含めても構わない。
引数「行番号」は、画面サイズは表の2行目にあるので2を指定すればよい。引数「検索方法」は完全一致で検索するのでFALSEを指定する。以上を踏まえると、HLOOKUP関数の数式は以下になる。
---------------------------------------------
=HLOOKUP(A4,B6:E11,2,FALSE)
---------------------------------------------
上記をB4セルに入力すると、A4セルの型番に応じた画面サイズが取り出される(図2)
図2
余談だが、関数名「HLOOKUP」の「LOOKUP」には「調べる」という意味がある。「H」は「水平」 の英単語「horizontal」が由来であり、文字通り検索が横方向であることを表している。「VLOOKUP」の「V」は「垂直」 の英単語「vertical」が由来であり、検索が縦方向であることを表す。
このように表を横方向に検索してデータを取り出したいなら、HLOOKUP関数を使う。目的の表の構成に応じてVLOOKUP関数と使い分けよう。
立山秀利(たてやま・ひでとし)
カーナビのソフトウェア開発、Webプロデュース業務を経て、現在は、システムやネットワーク、Microsoft Officeを中心に執筆中。 主な著書に『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』などがある。
(監修:日経BPコンサルティング)