複数のクロス表から値を取り出す方法|INDEX関数の領域番号

複数のクロス表から値を取り出す方法|INDEX関数の領域番号

INDEX関数は複数のセル範囲を抽出範囲に指定することができる。つまり、クロス表が複数あっても、検索値に該当するデータを抽出できる。この場合、抽出するクロス表を番号で指定して抽出する。

目的

複数クロス表検索抽出

使用する関数
目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

例題1|複数のクロス表から検索抽出する

  1. 抽出する表の番号の列「分類」(B列)を作成しておく。
  2. 「金額」を求めるセル(E3セル)を選択し、「=INDEX(」と入力する。
  3. [参照]…抽出する2つの表のセル範囲を「Ctrl」キーで選択し、「F4」キーを1回押して[$]記号をつけ絶対参照にしてから、[()]で囲んで入力する。
  4. [行番号]…MATCH関数で検索値「区分」のセルが表の何行目にあるかを求める数式を入力する。
  5. [列番号]…MATCH関数で検索値「種別」のセルが表の何列目にあるかを求める数式を入力する。
  6. [領域番号]…「分類」のセルを選択したら、「Enter」キーで数式を確定する。
  7. 数式を必要な分だけ複写する。
E3に入力(E4までコピー):分類で表を切り替えて金額を取り出す
数式=INDEX(($B$8:$C$9,$B$13:$C$14),MATCH(C3, $A$8:$A$9, 0),MATCH(D3, $B$7:$C$7, 0),B3)
ひとことで分類(1=平日、2=休日)で表を選び、区分と種別に当たる金額を返す
($B$8:$C$9,$B$13:$C$14)
平日の表(領域1)と休日の表(領域2)を、( )でまとめます
MATCH(C3, $A$8:$A$9, 0)
区分が、何行目か(大人=1、子供=2)です
MATCH(D3, $B$7:$C$7, 0)
種別が、何列目か(一般=1、会員=2)です
B3
領域番号です。分類の 1・2 で、表を切り替えます
補足8/2(分類1・大人・一般)は 1,100 です。領域番号が2を超えると #REF! エラーになります。
使用するExcel関数

数式の解説

「INDEX関数の引数の[参照]に複数のセル範囲を指定した場合は、引数の[領域番号]には何番目のセル範囲を検索対象にするかを番号で指定する。1つ目のセル範囲なら「1」、2つ目のセル範囲なら「2」を指定すると、その番号のセル範囲から抽出される。

Excelデータダウンロード

以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-sample1.xlsx

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次