この資料では、Microsoft Excel のワークシートで LOOKUP 関数を使用する方法について説明します。
先頭へ戻る
LOOKUP 関数は、1 行または 1 列で構成される範囲、または配列から 1 つの値を返します。LOOKUP 関数の構文形式には、ベクトル形式と配列形式の 2 種類があります。ベクトル形式の LOOKUP 関数では、ベクトルと呼ばれる 1 行または 1 列から成る範囲で値を検索し、次の 1 行または 1 列の範囲の同じ位置にある値を返します。配列形式の LOOKUP 関数では、指定された値を配列の先頭行または先頭列で検索し、配列の最終行または最終列の同じ位置にある値を返します。
先頭へ戻る
ベクトル形式の LOOKUP 関数
ベクトル形式の LOOKUP 関数では、ベクトルと呼ばれる 1 行または 1 列から成る範囲で値を検索し、次の 1 行または 1 列の範囲の同じ位置にある値を返します。この形式の LOOKUP 関数は、照合する値が含まれる範囲を指定する場合に使用します。
ベクトル形式の構文
LOOKUP(
lookup_value,
lookup_vector,
result_vector)
| ? | lookup_value には、LOOKUP 関数を使用して最初のベクトルで検索する値を指定します。lookup_value には、数値、文字列、論理値、または値を参照する名前や参照を指定できます。
|
| ? | lookup_vector には、1 行または 1 列のみから成る範囲を指定します。lookup_vector の値には、文字列、数値、または論理値を指定できます。
重要 : lookup_vector 内の値は、昇順に並べておく必要があります。たとえば、数値は -2、-1、0、1、2 の順、アルファベットは A から Z の順、ブール型の値は FALSE、TRUE の順とします。そうでない場合、LOOKUP 関数では正しい値を見つけることができません。また、文字列の大文字と小文字は区別されません。
|
| ? | result_vector には、1 行または 1 列のみから成る範囲を指定します。lookup_vector と同じサイズである必要があります。
|
注| ? |
LOOKUP 関数では、lookup_value が見つからない場合、lookup_vector に含まれている、lookup_value 以下の最大値が使用されます。
|
| ? | lookup_value が lookup_vector に含まれる最小値よりも小さいと、LOOKUP 関数からはエラー値 #N/A が返されます。
|
例
|
A
|
B
|
|
1
|
周波数
|
色
|
|
2
|
4.14
|
赤
|
|
3
|
4.19
|
オレンジ
|
|
4
|
5.17
|
黄
|
|
5
|
5.77
|
緑
|
|
6
|
6.39
|
青
|
|
数式
|
説明 (計算結果)
|
|
=LOOKUP(4.19,A2:A6,B2:B6)
|
列 A の 4.19 を検索し、同じ行の列 B の値を返します (オレンジ)。
|
|
=LOOKUP(5.00,A2:A6,B2:B6)
|
列 A の 5.00 を検索し、同じ行の列 B の値を返します (オレンジ)。
|
|
=LOOKUP(7.66,A2:A6,B2:B6)
|
列 A の 7.66 を検索し、この値以下の最大値である 6.39 を選び出して、同じ行の列 B の値を返します (青)。
|
|
=LOOKUP(0,A2:A6,B2:B6)
|
列 A の 0 を検索しますが、0 は検査範囲であるセル A2:A6 にある最小値よりも小さいため、エラー値が返されます (#N/A)。
|
先頭へ戻る
配列形式の LOOKUP 関数
配列形式の LOOKUP 関数では、指定された値を配列の先頭行または先頭列で検索し、配列の最終行または最終列の同じ位置にある値を返します。この形式の LOOKUP 関数は、照合する値が配列の先頭行または先頭列に含まれている場合に使用します。
配列形式の構文
LOOKUP(
lookup_value,
array)
| ? | lookup_value には、LOOKUP 関数を使用して配列内で検索する値を指定します。lookup_value には、数値、文字列、論理値、または値を参照する名前や参照を指定できます。
| ? |
LOOKUP 関数では、lookup_value が見つからない場合、配列の先頭行または先頭列に含まれている、lookup_value 以下の最大の値が使用されます。
| | ? | lookup_value が配列の先頭行または先頭列に含まれている最小値よりも小さいと、LOOKUP からはエラー値 #N/A が返されます。
|
|
| ? | array には、lookup_value と照合する文字列、数値または論理値を含むセル範囲を指定します。
配列形式の LOOKUP 関数は、HLOOKUP 関数と VLOOKUP 関数に似ています。ただし、HLOOKUP が先頭行で、VLOOKUP が先頭列で lookup_value を検索するのに対し、LOOKUP 関数は、array の次元に応じ、先頭行または先頭列を検索します。
| ? | array の行数より列数が多い場合、LOOKUP では、配列の先頭行で lookup_value が検索されます。
| | ? | array の行数と列数が等しいか、列数より行数が多い場合、LOOKUP では、配列の先頭列で検査値が検索されます。
| | ? |
HLOOKUP 関数と VLOOKUP 関数を使用すると、下方向または右方向にある指定したセルまで移動できますが、LOOKUP 関数では常に行または列の最終セルが選択されます。
| 重要 : array 内の値は、昇順に並べておく必要があります。たとえば、数値は -2、-1、0、1、2 の順、アルファベットは A から Z の順、ブール型の値は FALSE、TRUE の順とします。そうでない場合、LOOKUP 関数では正しい値を見つけることができません。また、文字列の大文字と小文字は区別されません。
|
例
|
A
|
B
|
|
1
|
a
|
1
|
|
2
|
b
|
2
|
|
3
|
c
|
3
|
|
4
|
d
|
4
|
|
数式
|
説明 (計算結果)
|
|
=LOOKUP("c",A1:B4)
|
配列の先頭列の "C" を検索し、最終列の同じ行にある値を返します (3)。
|
|
=LOOKUP("bump",A1:B4)
|
配列の先頭行で "bump" を検索し、最終列の同じ行にある値を返します (2)。
|
先頭へ戻る