小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2026年1月27日【ID:0】

【Excel】INDEXとMATCHの組み合わせ

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


INDEX関数とMATCH関数を組み合わせることによって、以下のように、マトリックス表(クロス表)から値を抽出することができます。

この数式、一見長くて難しそうですが、理屈が分かると簡単です。

ということで、INDEX関数とMATCH関数の組み合わせで、値を抽出する仕組みについて解説していきます。


INDEX関数

まずは、INDEX関数についての解説です。
INDEX関数には、「配列・行番号・列番号」の3つを指定します。

=INDEX(配列, 行番号, 列番号)

[配列]に指定した範囲から、指定した[行番号・列番号]に位置する値を取得します。
実際に、以下の数式を入力します。

=INDEX(C3:D5,3,2)
// C3:D5:配列
// 3:行番号
// 2:列番号

[配列]に指定した範囲の3行目2列目に位置する値を取得するので、プラン「C」性別「女」の「1,200」が抽出されます。


MATCH関数

次は、MATCH関数についての解説です。
MATCH関数には、「検査値・検査範囲、照合の種類」の3つを指定します。

=MATCH(検査値, 検査範囲, 照合の種類)

[検査値]に指定した値を、[検査範囲]に指定した範囲の先頭から探し、見つかった位置の番号(先頭から1、2,3、…)を取得します。
[照合の種類]には、「1、0、―1」が指定でき、それぞれ、以下の検査方法を指します。

1:検査値以下
0:検査範囲と完全一致
―1:検査範囲以上

こちらでは、一番使われる「0」のみについて解説していきます。

実際に、以下の数式を入力します。

=MATCH(G2,C2:D2,0)
// G2:検査値
// C2:D2:検査範囲
// 0:照合の種類(完全一致)

横方向は左が先頭、縦方向は上が先頭になります。
そのため、検査範囲の「男」が最初に確認され、その次に「女」が確認されます。
そこで、検査値の「女」が見つかった位置、2番目の「2」を取得します。

次に、以下の数式を入力します。

=MATCH(G3,B3:B5,0)
// G3:検査値
// B3:B5:検査範囲
// 0:照合の種類(完全一致)

この場合、検査範囲の先頭の「A」から確認し、検査値の「C」の位置を取得します。
「C」の位置は先頭から3番目のため、「3」を取得します。

ExcelVBAレベル確認

INDEX関数とMATCH関数の組み合わせ

最後に、INDEX関数とMATCH関数の組み合わせです。
MATCH関数を活用することで、対象の値の位置情報を取得することができ、INDEX関数を活用することで、指定した位置情報から、その位置の値を取得することができます。

そのため、INDEX関数の「行番号・列番号」にMATCH関数の数式を指定します。

=INDEX(C3:D5,3,2)
=MATCH(G2,C2:D2,0)
=MATCH(G3,B3:B5,0)
↓
=INDEX(C3:D5,MATCH(G3,B3:B5,0),MATCH(G2,C2:D2,0))

これで完成です。

INDEX関数に指定する位置情報の順番は「行番号→列番号」になるので、順番が逆にならないように注意してください。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7226009

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】累計を瞬時に求める

【Excel】同じ名前のファイルを同時に開く方法

【Excel】複数条件で値を抽出

【Excel】グラフタイトルにセルの値を参照させる

【Excel】計算なしで年代別集計

【Excel】指定したセルを別のセルの間に移動する

【Excel】吹き出しの図形の三角の幅を自由に調整する方法

【Excel】シフト表への入力を爆速にする

【Excel】スピルを使って要素単位で自動集計

【Excel】隣接したセルの書式を自動反映させない

【Excel】直近の退会者を表から自動抽出

【Excel】ピボットテーブルで集計値の大きい順にする

【Excel】選択した範囲内の改行を一括削除

【Excel】クリック操作で端のセルまで移動

【Excel】指定期間の予定表を自動作成

【ExcelVBA】空白を上に詰める

【Excel】特定の曜日の日付を入力できないようにする

【Excel】昇順や降順ではなく、好みの順番に並べ替える方法

【Excel】数式の引数に途中の行から最終行までを指定

【ExcelVBA】タスク管理表で残タスク数をシート名に自動反映

【Excel】基準日から「年・月・曜日・月末」などを求める

【Excel】誤って上書き保存しないための対策

【Excel】同じセル内の複数の値を集計

【ExcelVBA】「マクロの記録」でクラス分け

【Excel】新機能『TRIM参照』が便利すぎた





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ

メンバーに加入すると多くの特典が得られます

各プラン特典一覧 各プラン特典一覧

 加入ページへ 
⚠️今が最安値です⚠️

※メンバーページと連携すると表示されなくなります