フィルタで抽出した場合とそうでない場合の結果を表示してCOUNTIFSもする。【Excel講座】

まだ他の人があまりやったことがないかもしれない計算式を考えるのって
本当楽しいですね。

はい、ではまずはフィルタをかけた場合とかかっていない場合で分ける場合。

データは全部で5個、フィルタをかけて残った数が2個、タイトル行で1個。

だとこうなります、つまりA列にこの日付があるとすると…

=IF(SUBTOTAL(3,$A:$A)=COUNTA($A:$A),TRUE,FALSE)

3はCOUNTA、つまり「空白でない数を数え」てくれます。

何もない状態がCOUNTA(A:A)で6個、同じなのでTRUE。
フィルタを掛けたら減るのでFALSE。

これでまずはフィルタがかかっているか否かのIFが出来ました。

続いてフィルタした内容をCOUNTIFSで条件付けして集計してみましょう。

…と言ってもやり方は簡単、COUNTIFSの最後にSUBTOTALで関連するフィルタ列を入れてあげれば良いだけです。

日付の場合

=COUNTIFS(条件列①,条件②,フィルタする列③,SUBTOTAL(4,フィルタする列④))

①で佐藤さんや山田さんなど名前のある場所を選択します。
②検索したい名前のセルもしくは直接”名前”で入力します。
③フィルタをかける列、ここでは日付列を選択します。
④検索条件を選択し、③と同じ列を選択します。

以上。

このやり方だと日付を絞れるのは1日だけです。
複数の日付を指定したい場合は日付用の条件セルを用意しましょう。

会員番号や数字などの場合

=COUNTIFS(条件列①,条件②,フィルタする列③,SUBTOTAL(4,フィルタする列④))

①で1000番や1500番など番号の振られた場所を選択します。
②検索したい番号のセルもしくは直接”番号”で入力します。
③フィルタをかける列、ここでは番号列を選択します。
④検索条件を選択し、③と同じ列を選択します。

番号が入っている場合はかなり自由度が上がります。
アルファベットや記号との混合でもLEFTなどの抜き出し関数で調整が可能です。

…って数式としては同じですね、わざわざ分ける必要は無かったのですが
アルファベットや記号のみだとSUBTOTALは仕分けてくれません、条件としては日付でも番号でも数字に関わるもの、文字列以外なら検索可能という事になります。

関数と計算式で出来る事はたくさんあります、便利に使わせて頂きましょう🌱

ではでは。

コメント