トップ > ワークシート関数 > LOOKUP

LOOKUP分類:検索/行列   2009.02.06

LOOKUP関数は「検索/行列」に分類される関数で、ベクトルや配列から値を検索します。検索関数の中でも比較的使用頻度は高く、そして覚えやすい関数であると思います。
「座席表を作る」「出席番号を基に個人データを取り出す」といった用途が考えられます。

LOOKUPの機能と構成

機能:ベクトル、又は配列から値を検索し返す。

構成:=LOOKUP(検査値,検査範囲,対応範囲)※

※LOOKUP関数はベクトル形式と配列形式がありますが、ここではベクトル形式を取り上げます。

引数

検査値には、ベクトルや配列から検索する値を指定します。
検査範囲には1行、又は1列から成り立つセル範囲を指定します。検査範囲には昇順に配置されている数値・文字列・論理値を指定出来ます。

対応範囲には1行、又は1列から成り立つセル範囲を指定します。検査範囲と同じサイズの必要があります。

ベクトルとは、1 行または 1 列で構成されるセル範囲のことです。ベクトル形式の LOOKUP 関数は、ベクトルと呼ばれる 1 行または 1 列からなる配列を検査範囲とします。その中から検査値を検索し、それが見つかると、対応範囲の同じ位置のセルの値を返します。

引数の指定例

セル[B1:B10]から「6」を検索、見付かった行と同じ位置にある[C1:C10]の値を返す。:
 =LOOKUP(6,B1:B10,C1:C10)

セル[A1]の値をセル[B1:B10]から検索、見付かった行と同じ位置にある[C1:C10]の値を返す。:
 =LOOKUP(A1,B1:B10,C1:C10)

[DataArea]と名前を定義したセル範囲[A1:A10]から「6」を検索、対応範囲[C1:C10]の値を返す。:
 =LOOKUP(6,DataArea,C1:C10)

LOOKUP関数の使用例

セル[E2]の値をB列から探し、対応する人物をC列から探し、結果を表示します。


LOOKUP関数の特徴

LOOKUP関数は便利で使用しやすい一方で、その特徴を理解していないと、エラーの基になります。以下の特徴をしっかりと把握しておきましょう。

「検査範囲」は昇順が基本

検査範囲には通常、数値を指定します。しかし、文字列や論理値を指定する事も可能です。但し、どのケースでも、検査範囲が降順の場合は上手く検索できません
検査範囲は昇順が基本になります(列の場合は左から)。検査範囲を予め「並べ替え」機能で昇順にしておきましょう。


「検査範囲」内に空白セルが含まれている場合

検査範囲に空白セルが含まれている場合、そのセルは無視された状態で検索が行われます。


「検査値」に「検査範囲」内未満の値を指定した場合

検査値に、検査範囲に含まれる値未満の値を指定すると、エラーになります。


「検査値」の値が「検査範囲」内の値を超過する場合

検査値に「検査範囲内の値を超過」する値を指定した場合は、エラー表示にはなりません。その際には、検査範囲の中で、検査値に最も近い小さな値にまとめられます。小数点の場合も同様です。


「検査範囲」と「対応範囲」が行と列に分かれていり場合

検査範囲の対応範囲はサイズが同じであれば、行と列に分かれていても検索が出来ます。


「検査範囲」に同じ値が複数存在する場合

検査範囲内に同じ値が複数存在した場合は、最も上の値が優先されます。


ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.