次の方法で共有


WorksheetFunction.Lookup メソッド (Excel)

1 行または 1 列のみのセル範囲、または配列に含まれる値を返します。 Lookup 関数には、ベクター フォームと配列フォームという 2 つの構文形式があります。

構文

Lookup (Arg1Arg2Arg3)

: WorksheetFunction オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Arg1 必須 バリアント型 Lookup_value - ルックアップ が最初のベクトルで検索する値。 検査値には、数値、文字列、論理値、または値を参照する名前やセル参照を指定することができます。
Arg2 必須 バリアント型 Lookup_vectorまたは配列 - ベクター形式で、1 つの行または 1 つの列のみを含む範囲。 検査範囲には、文字列、数値、または論理値を指定できます。 配列形式では、検査値と比較する文字列、数値、または論理値を含むセル範囲を指定します。
Arg3 省略可能 バリアント型 Result_vector - ベクター形式でのみ使用されます。 1 行または 1 列のみの範囲を指定します。 対応範囲は検査範囲と同じサイズあることが必要です。

戻り値

Variant

注釈

目的 詳細については、 使用方法
1 行または 1 列のみのセル範囲 (ベクトル) を検査範囲として検査値を検索し、検査値が見つかると、セル範囲の次の行または列の同じ位置にある値を返す ベクトル形式 ベクトル形式の LOOKUP 関数を使用するのは、検索する値のリストが大きい場合や、値が経時変化する場合です。
配列の先頭行または先頭列で、指定された値を検索し、検査値が見つかると、配列の最終行または最終列の同じ位置の値を返す 配列形式 配列形式の LOOKUP 関数を使用するのは、検索する値のリストが小さい場合や、値が経時変化しない場合です。

ベクトル形

ベクトルとは、1 行または 1 列で構成されるセル範囲のことです。 Lookup のベクター形式は、1 行または 1 列の範囲 (ベクトルと呼ばれます) で値を検索し、2 番目の 1 行または 1 列の範囲の同じ位置から値を返します。 照合する値を含む範囲を指定する場合は、この形式の Lookup 関数を使用します。 もう 1 つの 形式のルックアップ では、最初の列または行が自動的に検索されます。

重要

lookup_vectorの値は、...,-2、-1、0、1、2、...、A-Z、FALSE、TRUE の昇順に配置する必要があります。それ以外の場合、 Lookup は正しい値を与えない可能性があります。 英字の大文字と小文字は区別されません。

Lookup でlookup_valueが見つからない場合は、lookup_value以下のlookup_vectorの最大値と一致します。

lookup_valueがlookup_vectorの最小値よりも小さい場合、 Lookup は#N/A エラー値を返します。

配列フォーム

Lookup の配列形式は、指定した値の配列の最初の行または列を検索し、配列の最後の行または列の同じ位置から値を返します。 照合する値が配列の最初の行または列にある場合は、この形式の Lookup を使用します。 列または行の場所を指定する場合は、もう 1 つの 形式のルックアップ を使用します。

ヒント

一般に、Lookup の配列形式の代わりに HLookup 関数または VLookup 関数を使用することをお勧 めします。 この形式の ルックアップ は、他のスプレッドシート プログラムとの互換性のために提供されます。

  • Lookup でlookup_valueが見つからない場合は、lookup_value以下の配列の最大値が使用されます。

  • lookup_valueが(配列の次元に応じて) 最初の行または列の最小値よりも小さい場合、 Lookup は#N/A エラー値を返します。

Lookup の配列形式は、HLookup 関数と VLookup 関数によく似ています。 違いは、 HLookup は最初の行でlookup_valueを検索し、 VLookup は最初の列で検索し、 ルックアップ は配列の次元に従って検索します。

  • 配列が高さ (行より多い列) より広い領域をカバーしている場合、 Lookup は最初の行でlookup_valueを検索します。

  • 配列が正方形の場合、または幅よりも高い場合 (列より多くの行)、 ルックアップ は最初の列で検索します。

  • HLookupVLookup を使用すると、インデックスを下または全体に配置できますが、ルックアップでは常に行または列の最後の値が選択されます。

重要

配列内の値は、...,-2、-1、0、1、2、...、A-Z、FALSE、TRUE の昇順に配置する必要があります。それ以外の場合、 Lookup は正しい値を与えない可能性があります。 英字の大文字と小文字は区別されません。

注:

また、 ルックアップ 関数は、7 つ以上の条件に対する詳細なテストまたはテストの IF 関数の代わりに使用することもできます。 「配列形式」の使用例を参照してください。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。