FILTER関数 擬人化キャラクター解説!エクセル関数の機能や使い方を図やイラストでかんたんに説明します!【関数ちゃん】

エクセル

はじめに

Excelにスピルが実装され、Excel関数は大幅に便利になりました。
その中でもFILTER関数は機能のフィルターがそのまま関数になったような便利な関数です。
元の表には手を加えずに、様々な条件でフィルターをかけた結果を出力できます。
この記事では、そんなFILTER関数の魅力を擬人化キャラクターを登場させてお伝えします!

登場人物紹介

キュウ
キュウ

キュウです。
経理初心者、エクセルは学校で少し触ったことがある程度です。
早く知識を身に着けて役に立てるようになりたいです!

シノ
シノ

シノです。

簿記の資格を持っていて、経理歴数年程度です。
経理業務をやっている内に、エクセルに夢中になってしまいました!


 

エクセル関数擬人化 FILTERちゃん

シノ
シノ

キュウさん、残業ですか?

キュウ
キュウ

えぇ、ちょっとした用事が…社内イベントの資料作成なんですけど。

シノ
シノ

どれどれ… これはFILTER関数を習得するチャンスですよ!!

キュウ
キュウ

FILTER!?そんな関数ありましたっけ!?

シノ
シノ

スピル環境で使える比較的新しい関数ですね。

キュウ
キュウ

新しい関数…私にも使えますかね…?

シノ
シノ

もちろん! 使えるようになったら、もう最強ですよ!
FILTERちゃんに先生をやってもらいましょう!!

FILTER
FILTER

準備は良いかな、諸君。

キュウ
キュウ

はい先生!!

FILTER
FILTER

まぁ私は先生ではなく、ただの科学部の部長なのだが…。
ちなみに一番好きなのは、ろ過の実験だ。

シノ
シノ

データもじゃんじゃんろ過していきましょう!

判定用の条件列を追加してTRUEで絞り込み

FILTER
FILTER

ふむ…ではまず、データをどんな風に絞り込みたいのかな?

キュウ
キュウ

これは社員に社内イベントの参加について事前に聞き取りした情報をまとめたデータです。
まずは参加者のリストを作るために、イベント参加が「参加」の社員だけを絞り込みたいです。

シノ
シノ

簡単な方法から慣れてもらいましょうか。
元のデータに抽出したい条件の数式が入った列を追加して、TRUEのデータを抽出します。
G列に条件式を入力しましょう。

キュウ
キュウ

ええと、イベント参加の欄が「参加」になっている社員を絞り込みたいから…。 「D3=”参加”」を入力して、下のセル範囲にコピーですね。

<例で使用している数式>
=D3="参加"
FILTER
FILTER

いよいよ私の出番だな。
まず第1引数として、フィルターをかけたいデータのセル範囲を指定する。
今回の場合は「A3:G12」だな。
そして第2引数に、絞り込み対象となるセル範囲と、絞り込みの条件を指定してくれ。

<例で使用している数式>
=FILTER(A3:G12,G3:G12=TRUE,"該当者なし")
キュウ
キュウ

ええと、条件式が「TRUE」になっている社員を絞り込みたいから…。

シノ
シノ

条件式の列(G3:G12)が、TRUEになっている、つまり(=TRUE)ということなので、 UNIQUEちゃんに渡す第2引数は「G3:G12=TRUE」になります!

FILTER
FILTER

どうだ、このように対象データの、条件列がTRUEのところだけ絞り込んで表示することができるのだ。

条件ひとつで基本の絞り込み

キュウ
キュウ

でも、いちいち条件列を作るのは面倒ですし見栄えが悪いですね。

シノ
シノ

そうくると思いました!
では、この条件列を数式でFILTERちゃんに渡してしまいましょう!

キュウ
キュウ

そんなことできるんですか!?

FILTER
FILTER

無論、可能だ。
ただし、それにはちょっとしたコツ…配列の考え方を使う必要がある。

キュウ
キュウ

は、配列!?

<例で使用している数式>
=D3:D12="参加"
シノ
シノ

慣れない内は、条件列をセルにスピルするように書き出して作ってみるといいですよ!
「=D3:D12=”参加”」と書いてみてください。

キュウ
キュウ

TRUE/FALSEの列がスピルして表示されました!

シノ
シノ

では、この条件式をFILTERちゃんの第2引数に指定してみてください、

キュウ
キュウ

FILTERちゃん、なにとぞ…。

FILTER
FILTER

うむ、第2引数「=D3:D12=”参加”」しかと受けとった。

キュウ
キュウ

わっ!!条件列なしでデータを絞り込めました!!

<例で使用している数式>
=FILTER(B3:G12,D3:D12="参加","該当者なし")
キュウ
キュウ

よぉ~し、この勢いのまま次の絞り込みを…

シノ
シノ

だいじょうぶかな…。

複数条件(AND条件、OR条件条件)での絞り込み

キュウ
キュウ

準備に関する資料を共有したいので、部署が「総務部」か、準備参加が「可能」のOR条件で絞り込もうとしてOR関数で2つの条件を並べたら、条件列がTRUEのひとつしか出てこなくて絞り込めません…。

OR
OR

私は引数に指定した論理式が、ひとつでもTRUEならTRUEを返すので、TRUEを含む配列を指定していたら、全体としてTRUEをひとつ返すのみです。

AND
AND

それは私も一緒で、判定結果のFALSEをひとつだけ返します。

キュウ
キュウ

そんな動きなんですね…
…じゃあOR条件はFILTER内で完結させられず、条件列を別に作らないと絞り込めない…ってコト!?

FILTER
FILTER

まさか。
FILTERの名を冠する私が、そのくらいできない訳がないだろう

シノ
シノ

できますよ!
ただOR条件やAND条件でスピルする配列を作るには少しコツがいります。

OR
OR

その使い方だと私たちの出番はないですね。

キュウ
キュウ

コツとは一体…?

シノ
シノ

条件式同士を、第2引数の中でAND条件なら「+」、OR条件なら「*」で繋ぎます。

キュウ
キュウ

「+」と「*」ですか…わかりました、これは暗記ですね!

シノ
シノ

それはどうかな~?
「+」と「*」は、どこかで見たことがありませんか?

キュウ
キュウ

足し算と…それに掛け算ですよね

シノ
シノ

そう!複数の条件を並べて、それぞれ足し算と掛け算をするとこんな感じになります。

キュウ
キュウ

結果が0、1、2などの数字になっていますね。

シノ
シノ

TRUEとFALSEは、計算するとTRUEは1、FALSEは0として計算した結果が返ります。

キュウ
キュウ

TRUE+TRUEは2で、TRUE*FALSEは0という感じでしょうか?

シノ
シノ

バッチリです!

シノ
シノ

またセル範囲どうしを計算した場合、一番上のセル同士を計算した結果が一番上に、その下には上から二番目のセル同士を計算した結果…というように、同じ位置の値どうしを計算した結果がセル範囲で返ってきます。
これが配列の考え方です。

<例で使用している数式>
=H3#+I3#
=H3#*I3#
シノ
シノ

あとは「#」について少し触れておきましょう。
これはスピルを参照する記号で、「H3#」だと、セルH3に入力されたスピルという意味になります。
この例だと、セルH3に入っている数式の結果がH3:H12の範囲でスピルしているので、H3:H12と読み替えられます。

キュウ
キュウ

K列とL列は、H列とI列を足し算した結果と、掛け算した結果ということですね。

シノ
シノ

そういうことになります!

FILTER
FILTER

私はK列とL列を見て、0ではないものを抽出対象にしているのだよ。
足し算の結果と掛け算の結果を、
0ならFALSE、0以外をTRUEに変換してみようか。

キュウ
キュウ

これって、さっき条件式をセルに書き出した時とそっくり…!!

シノ
シノ

良いところに気が付きましたね!
「+」や「*」での配列どうしの計算は、FILERちゃんが表示するTRUEと、表示しないFALSEを用意するためのものなんですね。

キュウ
キュウ

ORとANDが、足し算と掛け算で判定できるなんて…!!

OR
OR

ひとつでも1があれば0(FALSE)ではなくなる、私は足し算。

AND
AND

全部1じゃないと0(FALSE)になる、私は掛け算。

シノ
シノ

K列とL列で値が異なるのはH列とI列のどちらか一方がTRUEのケースですね。
これはそのまま、ANDとORの違いとも言えます。

キュウ
キュウ

なるほど~!!

シノ
シノ

どう?「+」と「*」は、暗記ではなかったでしょ?

キュウ
キュウ

はい! すこしだけ配列のイメージが掴めました!

FILTER
FILTER

実際に条件式を「+」で繋いでOR条件の絞り込みをするとこうなる。

<例で使用している数式>
=FILTER(A3:F12,(C3:C12="総務部")+(E3:E12="可能"))
FILTER
FILTER

次に条件式を「*」で繋いでAND条件の絞り込みをするとこうなる。

<例で使用している数式>
=FILTER(A3:F12,(C3:C12="総務部")*(E3:E12="可能"))
シノ
シノ

K列とL列で検証したとおり、0ではないデータが抽出の対象になっていますね!

キュウ
キュウ

FILTERちゃんありがとう!私が欲しかったのこれです!!

条件に一致するデータが存在しないとき

FILTER
FILTER

最後に大事なことをひとつ。
第3引数にはどの条件にも該当するデータが存在しないときの表示を指定できる。

シノ
シノ

その条件では何もひっかかりませんでした、ということですね。

FILTER
FILTER

そう、今回のデータでいうと部署が「総務部」かつイベント参加が「不参加」の社員という条件を指定し、 第3引数に「”該当なし”」を指定した場合、該当する社員がいないため数式が入っているH3セルには”該当なし”と表示される。

<例で使用している数式>
=FILTER(A3:F12,(C3:C12="総務部")*(D3:D12="不参加"),"該当者なし")
キュウ
キュウ

こんなところまでケアしてくれるとは…!!

シノ
シノ

頼りになりますね!

キュウ
キュウ

フィルター機能の関数バージョンかと思っていましたけど、 元のデータは残しながら関数が絞り込み後の別のデータを作ってくれるのが結構ちがいますね。

シノ
シノ

そうですね、一つのデータから色々な切り口で絞り込んだデータが作れるのがFILTERちゃんの魅力です。

FILTER
FILTER

私の機能も理解してもらったことだし、いつでも頼ってくれ。 ところで…

キュウ
キュウ

??

FILTER
FILTER

君たち、我が科学部に入部するつもりはないかね?

キュウ
キュウ

部員のスカウトに絞り込みスキルが発揮されてるんですね…。

シノ
シノ

お眼鏡に適ったということで、喜んでおきましょう!

まとめ

FILTER関数は、その便利さを知ってかなり驚愕した関数です。
条件の保存が数式で可能、元のデータには手を加える必要がない、これはとんでもないことです。
FILTER関数がない環境で、同じことをやろうとするとかなり面倒なことになります。
と、いうことで超絶有能なFILTERちゃん、デザインは結構難航しました。
(いつも難航しているような気がしますが)
UNIQUEちゃん、XLOOKUPちゃん、新しめの関数は自分の中でスマートな印象をもつ傾向があるように思います。
FILTER関数の便利な使い方などあれば、教えて頂けると嬉しいです。

【関数ちゃん】エクセル関数SUM関数擬人化キャラクター記事

【外部リンク】Microsoftサポート|FILTER関数

コメント

タイトルとURLをコピーしました