spreadsheetの使い方

INDEXとMATCH関数の組み合わせで行列の交差値が一瞬で取得出来るよ

膨大なデータ表から「行と列の交差する値」を一発で取得出来たら・・

作業スピードの大幅UPに繋がりますよね(^^)

 

アヒルン
行と列の項目が可変しても値を取得できてる・・おぉw

 

今回は以下2つの関数である

  • INDEX関数
  • MATCH関数

を組み合わせ、行と列の交差値を一瞬で取得する方法についてご紹介させていただきます。

oyakun
INDEX・MATCH関数を組み合わると、行列の交差値が簡単に取得できてしかも早い!

INDEX・MATCH関数を組み合わせた使い方

以前「INDEX関数の使い方」と「MATCH関数の使い方」についてご紹介させていただきました。

Index!
【オススメ関数】スプレッドシートindex関数の使い方|行列指定で値を取得!

スプレッドシートで列や行を指定して値を取得する事ができたら・・ とても便利です(^^)   冒頭GIFの文字取得方法、実はプログラムではなく「index関数」で構築することができちゃうんです ...

Match!
スプレッドシートmatch関数の使い方|検索した位置を返せるよ!

連続したデータの位置を一発で取得出来たら・・ 直ぐデータの詳細を確認することが出来ますよね(^^)   今回は検索した位置を取得する MATCH関数の使い方 についてご紹介していきます。

 

各関数の用途を簡単に説明すると

  • INDEX関数は指定した行・列の値を取得することが出来る
  • MATCH関数は検索値のセル位置を取得することが出来る

というもの。

 

各式の定義をもう一度おさらい↓

❚INDEX関数の定義

または

sample INDEX関数のサンプル

❚MATCH関数の定義

sample MATCH関数のサンプル

 

では行列の交差値をINDEX・MATCH関数の組み合わせで取得する場合、どのように組み合わせていけば良いのでしょうか?

 

INDEXとMATCH関数の組み合わせで行・列の交差値を取得する

 

INDEX関数とMATCH関数を組み合わせて行・列の交差値を取得するには、INDEX関数の中にMATCH関数を挿入して使います

 

INDEX × MATCH関数の例

=INDEX(A1:D4、MATCH(A1、2、0)MATCH(B2、2、0)

例の内訳

=INDEX(配列、MATCH(検索値、行番号、検索の種類)MATCH(検索値、列番号、検索の種類)

 

INDEX関数の行番号列番号MATCH関数で指定するわけですね(^^) 

 

以下例題にて、式の作り方を解説していきます。

INDEX・MATCH関数で行列の交差値を取得する例

テーブルの行列が交差する値(値段)を、INDEXとMATCH関数で求めます。

 

ポイント

ここで扱うテーブルとは「表」のことです。

上のテーブルから交差値を求める場合、例えば

  • セットが「セット1」
  • サイズが「S」

だとしたら、値段は¥300になります↓

アヒルン
セットの種類とサイズに応じた値段が求められる、という式を作るんだね

今回はE1セルに「INDEX+MATCH」関数の式を作っていきます。

 

INDEX関数で検索範囲を指定する

1・初めにINDEX関数を挿入して検索したい配列(範囲)を設定します。

検索したい配列を設定

=INDEX(B4:D6,

MATCH関数を挿入して行・列番号を取得する

2・次にINDEX関数の行番号を取得するためにMATCH関数を挿入します。「MATCH(B1、」と入力して行番号の「検索値」を指定します。

検索値を入力

=INDEX(B4:D6,MATCH(B1,

3・MATCH関数の行番号を探す「行範囲」を指定します。

 

セット1〜セット3なので範囲は「A4:A6」と入力。

範囲を入力

=INDEX(B4:D6,MATCH(B1,A4:A6,

4・MATCH関数の「検索の種類」を指定します。完全一致の時の行番号を取得したいので「0」と入力して、カッコを閉じます。

0を入力してカッコを閉じる

=INDEX(B4:D6,MATCH(B1,A4:A6,0),

ここまででINDEX関数の「=INDEX(配列、行、」までが作成できました。もう一度MATCH関数を挿入して「列番号」を取得していきます。

5・INDEX関数の列番号を取得するために、再度MATCH関数を挿入して「列番号の検索値」を指定します。ここでは「B2」を選択。

列番号の検索値を指定

=INDEX(B4:D6,MATCH(B1,A4:A6,0),MATCH(B2,

6・MATCH関数の列番号を探す「列範囲」を指定します。「B3:D3」と入力。

列範囲を指定

=INDEX(B4:D6,MATCH(B1,A4:A6,0),MATCH(B2,B3:D3),

7・MATCH関数の「検索の種類」を完全一致(0)で指定して、カッコを閉じます。

完全一致を指定してカッコを閉じる

=INDEX(B4:D6,MATCH(B1,A4:A6,0),MATCH(B2,B3:D3),0))

ポイント

INDEX関数も終わりなので、カッコ閉じ2つ➜ ” )) ” でINDEX+MATCH式を閉じましょう。

 

ここまでおつかれさまでした。実際に使ってみます\(^o^)/

次のページへ >

  • この記事を書いた人
  • 最新記事
oyakun

oyakun

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

Copyright© OYAKUDACHI.XYZ , 2019 All Rights Reserved.