適用先Excel for Microsoft 365 Microsoft365.com My Office for iPhone

概要

この詳細な記事では、Microsoft Excel のさまざまな組み込み関数を使用して、テーブル (またはセル範囲) 内のデータを検索する方法について説明します。 さまざまな数式を使用して同じ結果を取得できます。

サンプル ワークシートを作成する

この記事では、Excel の組み込み関数を示すためにサンプル ワークシートを使用します。 列 A から名前を参照し、列 C からそのユーザーの年齢を返す例を考えてみましょう。このワークシートを作成するには、空白の Excel ワークシートに次のデータを入力します。検索する値をセル E2 に入力します。 同じワークシート内の任意の空白セルに数式を入力できます。

A

B

C

D

E

1

Name

Dept

年齢

値の検索

2

Henry

501

28

メアリー

3

スタン

201

19

4

メアリー

101

22

5

ラリー

301

29

用語定義

この記事では、次の用語を使用して、Excel の組み込み関数について説明します。

用語

定義

Table 配列

ルックアップ テーブル全体

A2:C5

Lookup_Value

Table_Arrayの最初の列にある値。

E2

Lookup_Array -or- Lookup_Vector

可能な参照値を含むセルの範囲。

A2:A5

Col_Index_Num

一致する値Table_Arrayの列番号を返す必要があります。

3 (Table_Array の 3 番目の列)

Result_Array -or- Result_Vector

1 つの行または列のみを含む範囲。 Lookup_ArrayまたはLookup_Vectorと同じサイズにする必要があります。

C2:C5

Range_Lookup

論理値 (TRUE または FALSE)。 TRUE を指定するか省略した場合、近似値が返されます。 FALSE の場合、完全一致が検索されます。

FALSE

Top_cell

これは、オフセットの基準となる参照です。 Top_Cellは、隣接するセルまたはセル範囲を参照する必要があります。 それ以外の場合、OFFSET は #VALUE を返します。 エラー値。

Offset_Col

これは、結果の左上のセルが参照する列の数です。 たとえば、Offset_Col引数としての "5" は、参照の左上のセルが参照の右側にある 5 列であることを指定します。 Offset_Colは、正 (開始参照の右側を意味する) または負 (開始参照の左側を意味します) にすることができます。

関数

LOOKUP()

LOOKUP 関数は、1 つの行または列の値を検索し、別の行または列内の同じ位置にある値と一致します。LOOKUP 式の構文の例を次に示します。

   =LOOKUP(Lookup_Value,Lookup_Vector,Result_Vector)

次の数式は、サンプル ワークシート内の Mary の年齢を示しています。

   =LOOKUP(E2,A2:A5,C2:C5)

数式では、セル E2 の値 "Mary" を使用し、ルックアップ ベクター (列 A) で "Mary" を検索します。 数式は、結果ベクトル (列 C) 内の同じ行の値と一致します。 "Mary" は行 4 にあるため、LOOKUP は列 C (22) の行 4 の値を返します。手記:LOOKUP 関数では、テーブルを並べ替える必要があります。

LOOKUP 関数の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。  

Excel で LOOKUP 関数を使用する方法

VLOOKUP()

VLOOKUP 関数または垂直参照関数は、データが列に一覧表示されるときに使用されます。 この関数は、左端の列の値を検索し、同じ行の指定された列のデータと一致します。 VLOOKUP を使用して、並べ替えられたテーブルまたは並べ替えされていないテーブル内のデータを検索できます。 次の例では、並べ替えされていないデータを含むテーブルを使用します。VLOOKUP 数式構文の例を次に示します。

    =VLOOKUP(Lookup_Value,Table_Array,Col_Index_Num,Range_Lookup)

次の数式は、サンプル ワークシート内の Mary の年齢を示しています。

   =VLOOKUP(E2,A2:C5,3,FALSE)

数式では、セル E2 の値 "Mary" を使用し、左端の列 (列 A) で "Mary" を検索します。 数式は、Column_Index内の同じ行の値と一致します。 この例では、Column_Index (列 C) として "3" を使用します。 "Mary" は行 4 にあるため、VLOOKUP は列 C (22) の行 4 から値を返します。

VLOOKUP 関数の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。  

VLOOKUP または HLOOKUP を使用して完全一致を見つける方法

INDEX() と MATCH()

INDEX 関数と MATCH 関数を組み合わせて使用すると、 LOOKUP または VLOOKUP の使用と同じ結果を取得できます。

前の例では、 INDEXMATCH を組み合わせて LOOKUPVLOOKUP と同じ結果を生成する構文の例を次に示します。

    =INDEX(Table_Array,MATCH(Lookup_Value,Lookup_Array,0),Col_Index_Num)

次の数式は、サンプル ワークシート内の Mary の年齢を示しています。

=INDEX(A2:C5,MATCH(E2,A2:A5,0),3)

数式では、セル E2 の値 "Mary" を使用し、列 A で "Mary" を検索します。次に、列 C の同じ行の値と一致します。"Mary" は行 4 にあるため、数式は列 C (22) の行 4 の値を返します。

メモ: Lookup_Value ("Mary") と一致Lookup_Arrayセルがない場合、この数式は #N/A を返します。INDEX 関数の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。

INDEX 関数を使用してテーブル内のデータを検索する方法

OFFSET() と MATCH()

OFFSET 関数と MATCH 関数を組み合わせて使用すると、前の例の関数と同じ結果を生成できます。OFFSET と MATCH を組み合わせて LOOKUP および VLOOKUP と同じ結果を生成する構文の例を次に示します。

   =OFFSET(top_cell,MATCH(Lookup_Value,Lookup_Array,0),Offset_Col)

この数式は、サンプル ワークシートで Mary の年齢を検索します。

   =OFFSET(A1,MATCH(E2,A2:A5,0),2)

数式では、セル E2 の値 "Mary" を使用し、列 A で "Mary" を検索します。数式は、同じ行の値と一致しますが、右側の 2 つの列 (列 C) と一致します。 "Mary" は列 A にあるため、数式は列 C (22) の行 4 の値を返します。

OFFSET 関数の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。  

OFFSET 関数の使用方法

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。