S048|Excel関数による複数条件を満たすデータを抽出|FILTER、IF、ROW、INDEX、SMALL

複数条件を満たすデータを別表から抽出するなら、 Excel2021/365ではFILTER関数の引数[含む]を使用し、 Excel2019/2016ではIF関数の引数[論理式]にAND/OR条件式を入力して抽出する数式を作成しましょう。

目的

複数条件抽出

使用する関数

FILTER関数、AND/OR条件式、IF関数、ROW関数、INDEX関数、SMALL関数

目次

例題1|

  1. データを求めるセル(A6セル)を選択し、「=FILTER(」と入力する。
  2. [配列]…抽出する表の「商品ID」~「数量」のセル範囲を選択する。
  3. [含む]…表の「伝票No」「種類」が伝票検索の「伝票No」「種類」である場合の条件式を入力する。
  4. [空の場合]…省略して、「Enter」キーで数式を確定する。

【数式】 =FILTER(B9:E12,(A9:A12=A3)*(D9:D12=B3))

使用するExcel関数

FILTER関数、AND/OR条件式、IF関数、ROW関数、INDEX関数、SMALL関数

数式の解説

FILTER関数の引数[含む]には複数の条件式が指定できる。複数の条件式を指定するときは、それぞれの条件は[()]で囲み、AND条件は[*]、OR条件は[+]の演算子でそれぞれの条件式を結合して数式を作成する。「」の数式は、表の「伝票No」が「1000」で「種類」が「ローズマリー」の「商品ID」「単価」「種類」「数量」を抽出する。

Excelデータダウンロード

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

例題2|

  1. F列のセルを選択し、「=IF(」と入力して、「伝票No」が「1000」であり、「種類」が「ローズマリー」である場合の条件式を入力し、条件を満たす場合に表示する値として「ROW(A1)」を入力、条件を満たさない場合に表示する空白[“”]を入力して、「Enter」キーで数式を確定する。
  2. 数式を必要な分だけ複写する。
  3. データを求めるセル(A6セル)を選択し、INDEX関数、SMALL関数、ROW関数を使って数式を作成して抽出する。

【数式】=INDEX($B$9:$E$12,SMALL($F$9:$F$12,ROW(A8)-7),1)                            

使用するExcel関数

FILTER関数、AND/OR条件式、IF関数、ROW関数、INDEX関数、SMALL関数

数式の解説

「=IF((A9=$A$3)*(D9=$B$3),ROW(A1),“”)」の数式は、A9セルの「伝票No」がA3セルの「1000」であり、D9セルの「種類」がB3セルの「ローズマリー」である場合は行番号の「1」を返し、違う場合は空白[“”]を求める。

数式をコピーすることで、条件「1000」「ローズマリー」がある表の行にだけ表内の番目が付けられる。

F列に作成した表内の番目を使い、INDEX関数、SMALL関数、ROW関数を使って数式を作成して抽出することで、「伝票No」が「1000」で「種類」が「ローズマリー」の条件を満たすデータが抽出される。

Excelデータダウンロード

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

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

この記事を書いた人

コメント

コメントする

目次