ITライター 立山秀利
VLOOKUP関数やHLOOKUP関数は同じ表の中でしか検索できないが、LOOKUP関数を使うと、異なる表からでも検索・抽出できるケースがある。今回は同関数の基本的な使い方を解説する。
例えば図1のように、ノートパソコンのスペック表がA6~D11セルにあり、さらにモデルとおすすめの用途の対応表がF6~G9セルにあるとする。スペック表の型番ではB6セルの製品が上位モデル、C6セルが中位モデル、D6セルが下位モデルにあたるとする。
ここで、A4セルに入力した型番から、おすすめの用途をG7~G9セルから検索し、C4セルに抽出したいとする。VLOOKUP関数やHLOOKUP関数は同じの表の中からしか検索して抽出できないので使えない。
図1
そこで利用したのがLOOKUP関数だ。1つの行または列の範囲からデータを検索して抽出する。書式は次の通りだ。
---------------------------------------------
=LOOKUP(検索値, 検索範囲, 対応範囲)
検索値 :検索する値
検索範囲 :検索したいデータの範囲
対応範囲 :取り出したいデータの範囲
---------------------------------------------
引数「検索値」に指定した値を、引数「検索範囲」から検索し、その並び順に対応したデータを引数「対応範囲」の中から抽出する。
それでは、図1の表でLOOKUP関数を実際に使ってみよう。引数「検索値」には、調べたい型番が入力されるA4セルを指定する。引数「範囲」には、スペック表で型番が並んでいるセル範囲のB6~D6セルを指定する。引数「対応範囲」には、おすすめの用途が並んでいるセル範囲のG7~G9セルを指定する。以上を踏まえると、LOOKUP関数の数式は以下になる。
---------------------------------------------
=LOOKUP(A4, B6:D6,G7:G9)
--- ----- -----
検索値 検索範囲 対応範囲
---------------------------------------------
上記をB4セルに入力すると、A4セルの型番がB6~D6セルから検索され、その並び順に対応したおすすめの用途がG7~G9セルから抽出される(図2)。
図2
このようにLOOKUP関数は1つの行または列の範囲なら、異なる表で、なおかつ、検索範囲と対応範囲でデータの並びの縦横が異なっていても検索・抽出できる。
ただし、検索・抽出できる条件がいくつかあるので注意が必要だ。
・検索範囲のデータは必ず昇順で並べておく
・検索範囲と対応範囲は1行または1列
・検索範囲と対応範囲のセル数は揃える
LOOKUP関数を使う際は、これらの条件を満たしているかを先にチェックしよう。
立山秀利(たてやま・ひでとし)
カーナビのソフトウェア開発、Webプロデュース業務を経て、現在は、システムやネットワーク、Microsoft Officeを中心に執筆中。 主な著書に『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』などがある。
(監修:日経BPコンサルティング)