小技集

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



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」を取得します。


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
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



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



サイト累計閲覧数

8023281

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

Excel完全制覇


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

【Excel】特定の値の表示非表示を切り替える

【ExcelVBA】入力後のセルを自動で編集不可にする

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

【Excel】TRUEとFALSEを理解する

【Excel】改行を保持しながら値を参照する

【Excel】「空白セル」を「0」ではなく「空白」として抽出

【Excel】色んな文字結合4選

【Excel】XLOOKUP関数を使って複数条件で検索

【Excel】再利用するための瞬時に値を削除できる設定

【ExcelVBA】クリック操作だけで数量を入力

【Excel】単位をセルの端に表示する

【ExcelVBA】相関性を保ったまま重複のない番号を自動入力

【Excel】FILTER関数で離れている列を抽出

【Excel】6桁の年月を簡単に入力

【ExcelVBA】差し込みで複数のPDFファイルを自動生成

【Excel】グラフを一瞬で作成する方法

【Excel】表の入力必須項目を自動色付け(入力後は解除)

【Excel】複数シートの表から検索して値を抽出

【Excel】スピル活用時!指定した範囲内まで展開

【Excel】商品ごとの発注単位を考慮したリスト

【Excel】重複を考慮した上位3件を抽出

【Excel】存在しているシートのみ目次にリンクを表示

【Excel】○○IF(S)関数で便利な「*」と「?」とは

【Excel】重複した値をマークする

【Word】便利な文章の選択方法





一覧ページへ

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