INDEX関数とMATCH関数の組み合わせによるデータ抽出方法
経理において、エクセルの表から特定のデータを抽出したい場合が多く発生します。
この記事では、そういう場合にExcel(エクセル)でデータ抽出する方法として、INDEX関数とMATCH関数を組み合わせて使う方法を紹介します。
INDEX関数とは
INDEX関数とは、指定した行と列が交差する位置にあるデータを抽出する関数です。
書式は以下の通りです。
=INDEX (配列, 行番号, 列番号)
INDEX関数は以下の3つの引数で構成されます。
配列:データを抽出する範囲
行番号:配列の中で何行目か
列番号:配列の中で何列目か
例えば、以下の表から「2024年2月の売上高」の数値を集計する場合、
「=INDEX(B2:N5,2,3」と算式を入力すると、
以下のように集計することができます。
MATCH関数とは
MATCH関数とは、指定した検査値が検査範囲の中で何番目のセルかを求める関数です。
書式は以下の通りです。
=MATCH (検査値, 検査範囲, 照合の種類)
MATCH関数は以下の3つの引数で構成されます。
検査値:検索する値
検査範囲:検索する範囲
照合の種類※:検索方法を指定する
※照合の種類は以下の通りです。
1→検査値以下の最大値
0→検査値に一致する値のみ
-1→検査値以上の最小値
例えば、以下の表から「売上原価」が何番目のセルか求める場合、
「=INDEX(B2:B5,2,3」と算式を入力すると、
以下のように検査値が「何番目にあるか」を算出することができます。
INDEX関数とMATCH関数の組み合わせ技
これらのINDEX関数とMATCH関数を組み合わせることによって、特定の検査値がどの行や列にあるかをMATCH関数で検索し、その行の特定の行や列にあるデータをINDEX関数で抽出するということができます。算式としては以下の通りです。
=INDEX (配列, MATCH (検査値, 検査範囲, 照合の種類), MATCH (検査値, 検査範囲, 照合の種類))
※特定の行か列のどちらかが固定の場合は、MATCH関数は引数で2つ使う必要はありません。
例えば、「2024年2月の売上高」を集計したい場合、
=INDEX(B2:N5,MATCH(C8,B2:B5,0),MATCH(C9,B2:N2,0))と算式を入力すると、
以下のように集計することができます。
以上でINDEX関数とMATCH関数の組み合わせによるデータ抽出方法の説明は終わりとなります。
こちらの記事内「Excelお作法を学ぶ」でExcel(エクセル)上達のためのおすすめ本を紹介していますので、もっとExcel技法を学びたい方はそちらもご参考にしていただければと思います。
以上
コメント