Lookup
分類:検索/行列

LOOKUP

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


LOOKUPの機能と構成

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

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

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

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

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

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

◆引数を指定する例※(※例で出てくるB列のセル範囲は配列とします。)

セル[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関数は便利で使用しやすい一方で、その特徴を理解していないと、エラーの基になります。以下の特徴をしっかりと把握しておきましょう。

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


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


◆「検査値」に「検査範囲」内未満の値を指定した場合
 検査値に、検査範囲に含まれる値未満の値を指定すると、エラーになります。


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


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


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


Excel Tips for Teachers

Copyright (C) 2009 坂江 保 All Rights Reserved.