Microsoft Excelにはデータを検索するための強力な関数がいくつか存在します。中でも「INDEX」、「MATCH」、および「DGET」は非常に便利で、特定の条件に基づいたデータの取得や操作を行う際に役立ちます。これらの関数は、特に大規模なデータセットや複雑な計算を行う際に非常に有用です。本記事では、これらの関数の基本的な使い方から応用的な使い方までを包括的に解説します。
1. INDEX関数
「INDEX」関数は、指定した範囲内から特定の行番号と列番号を指定して、その交差するセルの値を取得する関数です。基本的には次のような構文で使用します。

scssINDEX(範囲, 行番号, [列番号])
- 範囲: 検索するセルの範囲。
- 行番号: 取得したい値の行番号。
- 列番号: 取得したい値の列番号(省略すると、範囲が1列の場合は省略可能)。
例えば、以下のような表があったとします。
A | B | C |
---|---|---|
商品名 | 価格 | 在庫数 |
商品A | 1000 | 50 |
商品B | 1500 | 30 |
商品C | 1200 | 40 |
この場合、商品Bの価格を取得したいときは、次のようにINDEX関数を使用します。
makefile=INDEX(B2:B4, 2)
結果として、1500
が返されます。
応用例:複数の列を同時に検索
INDEX関数は、複数の列または行にまたがる範囲を指定することもできます。たとえば、商品名と在庫数を一度に取得したい場合は、次のようにします。
makefile=INDEX(A2:C4, 2, 1)
これにより、商品Bの「商品名」列の値、すなわち「商品B」が返されます。
2. MATCH関数
「MATCH」関数は、指定した範囲内で特定の値がどの位置にあるかを返します。戻り値は、範囲内でその値が何番目に位置しているかを示す数値です。MATCH関数の構文は以下の通りです。
scssMATCH(検索値, 検索範囲, [照合の型])
- 検索値: 検索する値。
- 検索範囲: 検索対象の範囲。
- 照合の型: 一致の方法(0: 完全一致、1: 小さいまたは等しい一致、-1: 大きいまたは等しい一致)。省略した場合、1がデフォルトです。
例えば、以下のようなリストがあったとします。
A |
---|
商品A |
商品B |
商品C |
商品Bの位置を取得するには、次のように入力します。
php=MATCH("商品B", A2:A4, 0)
結果として「2」が返されます。これは、商品Bが範囲A2:A4内で2番目に位置していることを示しています。
INDEXとMATCHを組み合わせてデータを検索
INDEXとMATCHを組み合わせることで、より柔軟にデータを検索することができます。たとえば、商品名を指定してその価格を取得したい場合、MATCHで行番号を取得し、INDEXでその価格を取得することができます。
php=INDEX(B2:B4, MATCH("商品B", A2:A4, 0))
これにより、商品Bの価格「1500」が返されます。
3. DGET関数
「DGET」関数は、データベース形式のデータから特定の条件を満たす1つの値を返します。データベースの各列にはフィールド名があり、条件に一致するレコードの特定のフィールドから値を取得する際に使用します。DGET関数の構文は次の通りです。
scssDGET(データベース, フィールド, 条件範囲)
- データベース: データが格納されている範囲。
- フィールド: 取得したいデータの列名(列の名前または列番号)。
- 条件範囲: 条件を設定する範囲。
例えば、以下のようなデータベースがあるとします。
商品名 | 価格 | 在庫数 |
---|---|---|
商品A | 1000 | 50 |
商品B | 1500 | 30 |
商品C | 1200 | 40 |
商品名が「商品B」の価格を取得したい場合、条件範囲を設定して次のようにDGET関数を使用します。
条件範囲:
商品名 |
---|
商品B |
関数:
php=DGET(A1:C4, "価格", E1:E2)
これにより、商品Bの価格「1500」が返されます。
DGETの注意点
- DGETは条件に一致するデータが1件しかない場合にのみ動作します。もし一致するデータが複数ある場合、「DGETは複数の一致する値を見つけました」といったエラーメッセージが表示されます。
- 複数条件で検索する場合は、条件範囲に複数の列を追加し、複雑なフィルタリングが可能です。
4. まとめ
- INDEX関数は、指定した範囲から行番号と列番号を元にデータを取得する非常に強力な関数です。
- MATCH関数は、指定した値の位置を検索する関数で、INDEXと組み合わせることで柔軟なデータ検索が可能になります。
- DGET関数は、データベース形式のデータから特定の条件に基づいて1つの値を抽出するために使用されます。
これらの関数を駆使することで、大規模なデータセットを効率的に操作し、迅速に必要な情報を抽出することができます。