Microsoft Office Online
Office Online にサインイン (サインインとは?) | サインイン

 
 
Microsoft Office Excel
検索
検索
 
以前のバージョン: (c) Microsoft
以前のバージョンの製品情報
更新プログラムの確認: (c) Microsoft
Office のダウンロード
 
 
 
注意: このページはサポートされていない Web ブラウザで表示されています。この Web サイトは、Microsoft Internet Explorer 6.0 以降、Firefox 1.5、または Netscape Navigator 8.0 以降を使用すると、正しく表示されます。 サポートされているブラウザの詳細情報

印刷用ページの表示印刷用ページの表示 ブックマークを設定して共有共有
LOOKUP
 

1 行または 1 列のみのセル範囲、または配列 (配列 : 複数の結果を返す数式や、行および列範囲に入力された引数をまとめて処理する数式に使用される。配列範囲では、共通の数式が使用されます。配列定数は、引数として使用される定数の集まりです。)に含まれる値を返します。LOOKUP 関数には次の 2 つの構文形式があります。

  • ベクトル形式  ベクトル形式の LOOKUP 関数は、1 行または 1 列のみのセル範囲 (ベクトル) を検査範囲として検査値を検索し、検査値が見つかると、セル範囲の次の行または列の同じ位置にある値を返します。

    ベクトル形式の LOOKUP 関数を使用するのは、検索する値のリストが大きい場合や、値が経時変化する場合です。

  • 配列形式  配列形式の LOOKUP 関数は、配列の先頭行または先頭列から検査値が検索され、検査値が見つかると、配列の最終行または最終列の同じ位置にある値を返します。

    配列形式の LOOKUP 関数を使用するのは、検索する値のリストが小さい場合や、値が経時変化しない場合です。

メモ  LOOKUP 関数を IF 関数の代わりに使用して、8 個以上の条件に対してテストを行うこともできます。「配列形式」の使用例を参照してください。

表示 ベクトル形式

ベクトルとは、1 行または 1 列のみのセル範囲のことです。ベクトル形式の LOOKUP 関数は、1 行または 1 列のみのセル範囲 (ベクトル) を検査範囲として検査値を検索し、検査値が見つかると、セル範囲の次の行または列の同じ位置にある値を返します。この形式の LOOKUP 関数を使用するのは、一致する値を含む範囲を指定する場合です。配列形式の LOOKUP 関数は、範囲の先頭列または先頭行を自動的に検索します。

LOOKUP(検査値,検査範囲,対応範囲)

検査値  検査範囲 (ベクトル) で検索する値を指定します。検査値には、数値、文字列、論理値、または値を参照する名前やセル参照を指定できます。

検査範囲  1 行または 1 列のみの範囲を指定します。検査範囲には、文字列、数値、または論理値を指定できます。

重要  検査範囲に入力されている値は、... -2、-1、0、1、2 ...、A ~ Z、ア~ン、FALSE、TRUE のようにコード順の昇順に配置されている必要があります。そうでない場合、LOOKUP 関数は正しい値を見つけることができません。また、英字の大文字と小文字は区別されません。

対応範囲  1 行または 1 列のみの範囲を指定します。対応範囲検査範囲と同じサイズあることが必要です。

  • 検査値が見つからない場合、検査範囲内で検査値以下の最大値が、一致する値として使用されます。
  • 検査値検査範囲に含まれる最小値よりも小さい場合は、エラー値 #N/A が返されます。

使用例

使用例は空白のワークシートにコピーすると理解しやすくなります。

表示 その方法は?

  1. 空白のワークブックまたはワークシートを作成します。
  2. ヘルプ トピックから使用例を選択します。行見出しまたは列見出しは選択しないでください。

    ヘルプから使用例を選択する

    ヘルプから使用例を選択する

  3. Ctrl キーを押しながら C キーを押します。
  4. ワークシートでセル A1 を選択し、Ctrl キーを押しながら V キーを押します。
  5. 結果の表示と結果を返す数式の表示を切り替えるには、Ctrl キーを押しながら ` (アクサン グラーブ) キーを押すか、[ツール] メニューの [ワークシート分析] をポイントし、[ワークシート分析モード] をクリックします。
 
1
2
3
4
5
6
A B
周波数
4.14
4.19
5.17
5.77
6.39
説明 (結果)
=LOOKUP(4.19,A2:A6,B2:B6) A 列で 4.19 を検索し、B 列の同じ行にある値 (橙) を返します。
=LOOKUP(5.00,A2:A6,B2:B6) A 列で 5.00 を検索し、次の最小値 (4.19) を一致する値として見つけて、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 の最小値より小さいため、エラーを返します。

表示 配列形式

配列形式の LOOKUP 関数は、配列 (配列 : 複数の結果を返す数式や、行および列範囲に入力された引数をまとめて処理する数式に使用される。配列範囲では、共通の数式が使用されます。配列定数は、引数として使用される定数の集まりです。)の先頭行または先頭列で、指定された値を検索し、検査値が見つかると、配列の最終行または最終列の同じ位置の値を返します。この形式の LOOKUP 関数を使用するのは、一致する値が配列の先頭行または先頭列にある場合です。列または行の位置を指定する場合は、ベクトル形式の LOOKUP 関数を使用してください。

表示ヒント

一般には、配列形式の LOOKUP 関数のの代わりに HLOOKUP 関数または VLOOKUP 関数を使用することをお勧めします。配列形式の LOOKUP 関数は他の表計算プログラムとの互換性を維持するために用意されています。

LOOKUP(検査値,配列)

検査値  配列内で検索する値を指定します。検査値には、数値、文字列、論理値、または値を参照する名前またはセル参照を指定できます。

  • 検査値が見つからない場合、配列内で検査値以下の最大値が、一致する値として使用されます。

  • 検査値が先頭行または先頭列に含まれる最小値よりも小さい場合は、エラー値 #N/A が返されます。

配列  検査値と比較する文字列、数値、または論理値を含むセル範囲を指定します。

配列形式の LOOKUP 関数は HLOOKUP 関数と VLOOKUP 関数によく似ています。ただし、HLOOKUP 関数が検査値を先頭行で、VLOOKUP 関数が先頭列で検索するのに対して、LOOKUP は指定された配列の次元に応じて先頭行または先頭列で検索します。

  • 横長の (行数より列数が多い) 配列の場合は、先頭行で検査値が検索されます。

  • 正方形 (行数と列数が等しい) または縦長の (列数より行数が多い) 配列の場合は、先頭列で検査値が検索されます。

  • HLOOKUP 関数と VLOOKUP 関数では、検索対象となる行番号または列番号を指定できますが、LOOKUP 関数では、最終行または最終列の値が検索対象として自動的に選択されます。

重要  配列に入力されている値は、... -2、-1、0、1、2 ...、A ~ Z、ア~ン、FALSE、TRUE のようにコード順の昇順に配置されている必要があります。そうでない場合、LOOKUP 関数は正しい値を見つけることができません。また、英字の大文字と小文字は区別されません。

使用例 1

使用例は空白のワークシートにコピーすると理解しやすくなります。

表示 その方法は?

  1. 空白のワークブックまたはワークシートを作成します。
  2. ヘルプ トピックから使用例を選択します。行見出しまたは列見出しは選択しないでください。

    ヘルプから使用例を選択する

    ヘルプから使用例を選択する

  3. Ctrl キーを押しながら C キーを押します。
  4. ワークシートでセル A1 を選択し、Ctrl キーを押しながら V キーを押します。
  5. 結果の表示と結果を返す数式の表示を切り替えるには、Ctrl キーを押しながら ` (アクサン グラーブ) キーを押すか、[ツール] メニューの [ワークシート分析] をポイントし、[ワークシート分析モード] をクリックします。
 
1
A B
説明 (結果)
=LOOKUP("C",{"a","b","c","d";1,2,3,4}) 配列の先頭行で「C」を検索し、「c」以下の最大値を見つけて、同じ列の最終行の値 (3) を返します。
=LOOKUP("bump",{"a",1;"b",2;"c",3}) 配列の先頭行で「bump」を検索し、「b」以下の最大値を見つけて、同じ行の最終列の値 (2) を返します。

使用例 2

使用例は空白のワークシートにコピーすると理解しやすくなります。

表示 その方法は?

  1. 空白のワークブックまたはワークシートを作成します。
  2. ヘルプ トピックから使用例を選択します。行見出しまたは列見出しは選択しないでください。

    ヘルプから使用例を選択する

    ヘルプから使用例を選択する

  3. Ctrl キーを押しながら C キーを押します。
  4. ワークシートでセル A1 を選択し、Ctrl キーを押しながら V キーを押します。
  5. 結果の表示と結果を返す数式の表示を切り替えるには、Ctrl キーを押しながら ` (アクサン グラーブ) キーを押すか、[ツール] メニューの [ワークシート分析] をポイントし、[ワークシート分析モード] をクリックします。

次の例では、数値の配列を使用してテストの点数にアルファベットによる評価ランクを割り当てます。

 
1
2
3
4
A
点数
45
90
78
説明 (結果)
=LOOKUP(A2,{0,60,70,80,90},{"F","D","C","B","A"}) 配列の先頭行で A2 の値 (45) を検索し、その値以下の最大値 (0) を見つけて、配列の同じ列にある最終行の値 (F) を返します。
=LOOKUP(A3,{0,60,70,80,90},{"F","D","C","B","A"}) 配列の先頭行で A3 の値 (90) を検索し、その値以下の最大値 (90) を見つけて、配列の同じ列にある最終行の値 (A) を返します。
=LOOKUP(A4,{0,60,70,80,90},{"F","D","C","B","A"}) 配列の先頭行で A4 の値 (78) を検索し、その値以下の最大値 (70) を見つけて、配列の同じ列にある最終行の値 (C) を返します。
=LOOKUP(A2,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) 配列の先頭行で A2 の値 (45) を検索し、その値以下の最大値 (0) を見つけて、配列の同じ列にある最終行の値 (F) を返します。
=LOOKUP(A3,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) 配列の先頭行で A3 の値 (90) を検索し、その値以下の最大値 (90) を見つけて、配列の同じ列にある最終行の値 (A-) を返します。
=LOOKUP(A4,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) 配列の先頭行で A4 の値 (78) を検索し、その値以下の最大値 (77) を見つけて、配列の同じ列にある最終行の値 (C+) を返します。
広告