Excel情報552 関数 --必要なデータを瞬時に取り出す方法
【テーマ】
今回は条件に一致したデータを瞬時で表示する方法をご紹介します。データ抽出の作業がルーティン化している場合、その時間を大幅に短縮することができます。
【方法】
FILTER関数を使用します。
【参考】
SORT関数を組み合わせると、条件に合うデータの抽出と並べ替えを同時に行うことができます。
■ 今回の内容
売上表から特定の商品の売り上げだけを表示したり、特定の日付のデータを表示したいことありますよね。
上記のようなことは「フィルター」機能でも可能ですが、
今回ご紹介するFILTER関数を使えば元の表を残したまま、特定のデータを表示するので、
絞り込み前と後の表を比較したい場合は便利です。
※FILTER関数は、Excel2021以降またはMicrosoft365で使用可能です。
【フィルター機能】
【FILTER関数】
■設定方法
  ◆ FILTER関数
=FILTER( 配列,含む,[空の場合])
配列:  データの範囲を指定します。
含む:  条件を指定します。
[空の場合]:  指定した条件にあうデータが存在しないときに表示する値を指定します。
 ※省略した場合は「#CALC!」が表示されます。
  ◆ 設定例
下図の表を使用して説明します。
      例1: 売上金額が10万円以上のデータを抽出
例では、H5セルに下記数式を設定しています。
=FILTER(B5:F10,D5:D10>=100000,"該当なし")
※H5セルにのみ数式を指定しましたが、スピル機能によって、隣接するセルにも結果が表示されます。
スピル機能については、下記バックナンバーまたはMicrosoftの公式ページ等をご参照ください。
Excel情報535 セル--スピル機能について
      例2: 日付が2024年11月3日以降のデータを抽出
例では、H5セルに下記数式を設定しています。
=FILTER(B5:F10,F5:F10>=F7,"該当なし")
セル参照で日付を指定する以外にも、日付/時刻関数を使用する方法があります。
下記数式を使っても結果は同じになります。
=FILTER(B5:F10,F5:F10>=DATE(2024,11,3),"該当なし")
      例3: 売上金額が10万円以上かつ販売数が5個以上のデータを抽出
例では、H5セルに下記数式を設定しています。
=FILTER(B5:F10,(D5:D10>=100000)*(E5:E10>=5),"該当なし")
※上記のようにAND条件(〜かつ〜)で指定する場合は、条件式を *(アスタリスク)で繋ぎます。
      例4: 売上金額が10万円以上または販売数が5個以上のデータを抽出
例では、H5セルに下記数式を設定しています。
=FILTER(B5:F10,(D5:D10>=100000)+(E5:E10>=5),"該当なし")
※上記のようにOR条件(〜または〜)で指定する場合は、条件式を + で繋ぎます。
■ ご参考までに
SORT関数を組み合わせると、条件に合うデータの抽出と並べ替えを同時に行うことができます。
※SORT関数は、Excel2021以降またはMicrosoft365で使用可能です。
下図は、売上金額が10万円以上または販売数が5個以上のデータを抽出し、
売上金額を昇順で並べ替えています。
=SORT(FILTER(B5:F10,(D5:D10>=100000)+(E5:E10>=5),"該当なし"),3,1,FALSE)
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます