【Excel】機能10選④:INDEX関数とMATCH関数の合体技(INDEX/MATCH)
「行方向・列方向の両方向から検索をかけられる関数」と紹介しましたが、この特性を使うと、
「項目ごとに数値の入ったデータテーブルから、特定の項目のみを抜き出す集計フォームを作る」ことができます。
下記のような数値テーブルから、
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/10a9675b-cc0e-44cb-b94b-aae5a23f8fe2/48dd77ff9f451aebb355c35569fa2752.png)
下記のようなフォームに対して、数値を参照して当てはめることができます。
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/f2c27538-58d9-43d8-9ee1-3a363b4726f5/cc879ec9c37e07c62ce626a8c5ebac25.png)
フォームのデモGIFアニメーション(▼のクリックを押してご確認ください)
数値テーブルから、「5月」であり、かつ「本契約数」「仮登録」にあたる数値を取得する、ことを行っています。
このような書き方を用いることで、
- 数値の参照箇所が複数あっても、関数をコピペして使いまわしができる
- 検索条件が変更されても、自動的に検索結果が変わるフォームにすることができる(デモ内では5月から7月に変更しています)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/ebfb8da5-ab70-4246-8a2c-9e5ca4555dae/e29cec3d0606653b068ac49ffd8baed6.gif)
使い方
INDEX関数
まず、基本となるINDEX関数についてです。
₌INDEX(範囲, 行番号, 列番号, 領域番号)
という書き方で、「範囲の中の、〇行目の〇列目にあたる数値を返す」ということができる関数です。
※領域番号はあまり使いどころがないので、無視で問題ありません。実際に書かなくても機能します。
例えば、下記の画像のように書くと、「A1~D5までの表のうち、3行目の2列目のあるもの」なのでB3、という結果になります。
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/5fa9e938-b1ca-48bb-9cc1-5a88e5fcc4fa/9cf72084ab7a577a246b3c758e4b6309.png)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/fea5174a-ef40-470f-82c3-eeee337d45ad/908fe120b8228c98c87f92911f37ac9c.png)
MATCH関数
=MATCH(検査値, 検査範囲, 照合の型)
という書き方で、「検査値(=探したい値)が、範囲の中の、何番目にあたるかを返す」ことができる関数です。
※照合の型はいくつか種類があるのですが、基本的には完全一致を指定する「0」を書き込む、と覚えてしまって問題ありません。
例えば、下記の画像のように書くと、「A9~A13までの1列のうち、A12は何番目か」なので4、という結果になります。(上から4番目)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/1b283de9-4ece-4e54-950a-9af9645a30a4/8dca82b45544ce8216f780bd6145bf35.png)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/cdab48a3-57f6-4048-826d-311d3339333f/1b8d0a0e8a030f60e1c3ea96840a9f1e.png)
MATCH関数は、範囲が行でも列でも同様に使えます。
例えば、下記の画像のように書くと、「A16~D16までの1行の範囲のうち、C16は何番目か」なので3、という結果になります。(左から3番目)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/bef034e2-7b91-4ef9-9e12-7ac517c3b442/a063ebc1735baac27f0371682682a121.png)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/6cefff3c-31a5-4899-9b29-159e403ecc29/b1b4c3821409d9c1ae652d4923bf9608.png)
INDEX関数の「行番号」「列番号」の箇所にMATCH関数を入れ込む
ここが一番重要なポイントです。
「範囲の中の、〇行目の〇列目にあたる数値を返す」ということができるINDEX関数に対して、
「〇行目」「〇列目」を返すことのできる、MATCH関数を組み込む
というのが、INDEX-MATCHです。
INDEX関数の基本の書き方: ₌INDEX(範囲, 行番号, 列番号)
MATCH関数を組み込むと: ₌INDEX(範囲,MATCH(〇, △, 0),MATCH(◎, ◇, 0))
・効率化や自動化につながるExcelの機能をもっと知りたい
・組織においてExcelを使ったデータ活用をもっと推進したい
・新しいKPIを作りたいが、自信がない
アタラにはデータ活用やExcel、BIツールのエキスパートが多数在籍しております。このような課題をお持ちの方は、アタラ合同会社のBIツール導入コンサルティングサービスへお気軽にお問い合わせください。
この記事をシェアする
まずはお気軽にご相談ください
BIシステムの導入からデータ活用の自走化まで支援いたします
![画像](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/atara/4d0b04d7-7f5d-42c3-b823-340f0c6b6ba2/85e622eaa9cd1405991d24003691b01f.png)