WorksheetFunction.Lookup(Object, Object, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
1 行または 1 列のみのセル範囲、または配列に含まれる値を返します。 LOOKUP 関数には、ベクトル形式と配列形式の 2 つの構文形式があります。
public object Lookup(object Arg1, object Arg2, object Arg3);
Public Function Lookup (Arg1 As Object, Arg2 As Object, Optional Arg3 As Object) As Object
パラメーター
- Arg1
- Object
Lookup_value - Lookup が最初のベクトルで検索する値。 検査値には、数値、文字列、論理値、または値を参照する名前やセル参照を指定することができます。
- Arg2
- Object
検査範囲または配列: ベクトル形式では、1 行または 1 列のみのセル範囲を指定します。 検査範囲には、文字列、数値、または論理値を指定できます。 配列形式では、検査値と比較する文字列、数値、または論理値を含むセル範囲を指定します。
- Arg3
- Object
対応範囲: ベクトル形式でのみ使用します。 1 行または 1 列のみの範囲を指定します。 対応範囲は検査範囲と同じサイズあることが必要です。
返品
注釈
| 1 行または 1 列のみのセル範囲 (ベクトル) を検査範囲として検査値を検索し、検査値が見つかると、セル範囲の次の行または列の同じ位置にある値を返す | ベクトル形式 | ベクトル形式の LOOKUP 関数を使用するのは、検索する値のリストが大きい場合や、値が経時変化する場合です。 |
| 配列の先頭行または先頭列で、指定された値を検索し、検査値が見つかると、配列の最終行または最終列の同じ位置の値を返す | 配列形式 | 配列形式の LOOKUP 関数を使用するのは、検索する値のリストが小さい場合や、値が経時変化しない場合です。 |
注: 詳細なテストや 7 つ以上の条件のテストでは、IF 関数の代わりに Lookup 関数を使用することもできます。 「配列形式」の使用例を参照してください。
ベクトル形
ベクトルとは、1 行または 1 列で構成されるセル範囲のことです。 ベクトル形式の ルックアップ では、1 行または 1 列の範囲 (ベクトルと呼ばれる) で値を検索し、2 番目の 1 行または 1 列の範囲の同じ位置から値を返します。 この形式の ルックアップ 関数は、一致させる値を含む範囲を指定する場合に使用します。 他の形式の ルックアップ では、最初の列または行が自動的に検索されます。
重要: lookup_vector の値は昇順で配置する必要があります: ...,-2, -1, 0, 1, 2, ..., A-Z, false, true;これらを行わないと、 Lookup で 正しい値が得られないことがあります。 英字の大文字と小文字は区別されません。
検査値が見つからない場合は、検査範囲に含まれている検査値以下の最大の値が使用されます。
lookup_value が lookup_vector の最小値よりも小さい場合、 ルックアップでは #N/A エラー値が提供されます。
配列フォーム
ルックアップの配列形式では、配列の最初の行または列で指定された値を検索し、配列の最後の行または列の同じ位置から値を返します。 一致させる値が配列の最初の行または列にある場合は、この形式の ルックアップ を使用します。 列または行の場所を指定する場合は、別の形式の ルックアップ を使用します。
ヒント: 一般に、ルックアップの配列形式ではなく、HLookup(Object, Object, Object, Object)または VLookup(Object, Object, Object, Object)関数を使用することをお勧めします。 この形式の ルックアップ は、他のスプレッドシート プログラムとの互換性のために用意されています。
Lookup でlookup_valueが見つからない場合は、配列内で lookup_value 以下の最大の値が使用されます。
lookup_value が 1 行目または 1 列目の最小値よりも小さい場合 (配列のサイズに応じて)、 ルックアップ は #N/A エラー値を返します。
Lookup の配列形式は、HLookup(Object, Object, Object, Object) 関数や VLookup(Object, Object, Object, Object) 関数とよく似ています。 違いは、 HLookup(Object, Object, Object, Object) は 1 行目で lookup_value を検索し、 VLookup(Object, Object, Object, Object) は最初の列で検索し、 ルックアップ は配列の次元に従って検索する点です。
配列がカバーしている領域が高さよりも広い場合 (行よりも列が多い場合)、 ルックアップ は最初の行でlookup_valueを検索します。
配列が正方形であるか、配列が幅よりも高い (列よりも行が多い) 場合、 ルックアップ は最初の列を検索します。
HLookup(Object, Object, Object, Object) と VLookup(Object, Object, Object, Object) では、インデックスを下または横方向に指定できますが、ルックアップは常に行または列の最後の値を選択します。
重要: 配列の値は昇順で配置する必要があります: ...,-2, -1, 0, 1, 2, ..., A-Z, false, true;これらを行わないと、 Lookup で 正しい値が得られないことがあります。 英字の大文字と小文字は区別されません。