FILTER関数一致データを全部抽出… !!
でも…重複している…如何しよう…!?
UNIQUE関数で処理しちゃおう!!
一つのデータを抽出する場合、代表的なVLOOKUP関数を使うことが多いですよね。最近では、XLOOKUP関数の方が多いのかな・・・実は、従来からある「フィルター」機能と同じように処理できるFILTER関数で処理すれば、「フィルター」機能と違って元の表自体はそのままで抽出したデータを別表として確認することが可能なんですね。
でも、複数の対応するデータがある場合、一回で抽出することは無理ですよね・・・
FILTER関数の構文は・・・
=FILTER(配列(範囲のこと), 含む(条件のこと), [空の場合](一致しない場合の値のこと))
- 配列(範囲のこと)・・・対象のデータ範囲を指定します。
- 含む(条件のこと)・・・範囲の中から抽出条件を指定します。
- [空の場合](一致しない場合の値のこと)・・・条件に一致する行がない場合に表示する値を指定しますが省略可能です。
- 【FILTER関数で一致する全データを抽出する方法】
- 例えば、セルF2に入力した種類のリンゴの品種をG列に抽出してみたいと思います。
- 先ず、セルG2に『=FILTER(』と入力します。
- 次に、配列(範囲)には品種を抽出したいので『セルC2~セルC10』を選択しますと『=FILTER(テーブル1[品種]』と入力されましたのでカンマで区切って『=FILTER(テーブル1[品種] ,』とします。
- 次に、含む(条件)は種類のリンゴなので『セルB2~セルB10』を選択しますと『=FILTER(テーブル1[品種],テーブル1[種類]』と入力されました。
- そして、セルF2にはリンゴが入力されていますからセルB2~セルB10の種類の中からリンゴに等しいものを選択してほしいわけですので・・・
『=FILTER(テーブル1[品種],テーブル1[種類]=F2』と入力して『)』で閉じて『=FILTER(テーブル1[品種],テーブル1[種類]=F2)』と入力してEnterで確定します。- すると、FILTER関数はスピル機能に対応していますので、リンゴの品種全てが表示されました・・・でも、重複していますよね・・・
- 【UNIQUE関数で重複を削除する方法】
- 重複表示されるのを一意(重複しない)の値を表示させるには、先程のFILTER関数で創った数式をUNIQUE関数で囲ってやるだけです。
『=UNIQUE(FILTER(テーブル1[品種],テーブル1[種類]=F2))』と記入して『Enter』で確定します。- すると、重複しない値が表示されました。
- 【種類別売上を計算する方法】
- FILTER関数の配列(範囲)には売上を抽出したいので『セルD2~セルD10』を選択しますと『=FILTER(テーブル1[売上]』と入力されましたのでカンマで区切って『=FILTER(テーブル1[売上] ,』とします。
- 次に、含む(条件)は種類のリンゴなので『セルB2~セルB10』を選択しますと『=FILTER(テーブル1[売上],テーブル1[種類]』と入力されました。
- そして、セルF2にはリンゴが入力されていますからセルB2~セルB10の種類の中からリンゴに等しいものを選択してほしいわけですので・・・
『=FILTER(テーブル1[売上],テーブル1[種類]=F2』と入力して『)』で閉じて『=FILTER(テーブル1[売上],テーブル1[種類]=F2)』と入力してEnterで確定します。
- これで、売上金額が全て表示されますので、この数式を『=SUM(数式)』と、このように囲ってやれば売上合計がでるはずですので・・・
『=SUM(FILTER(テーブル1[売上],テーブル1[種類]=F2))』と入力してEnterで確定します。- すると、左の画像のようにリンゴ全体の売上が表示されました。
このようにフィルター関数の使い方をマスター出来れば色々と応用が可能だと思います。
頑張ってチャレンジしてみて下さいね!
※コメント投稿者のブログIDはブログ作成者のみに通知されます