2018年5月28日月曜日

【関数】フィルターをかけたときのカウント

フィルターをかけたシートの値をカウントする場合、
countifなどを使っても全てのデータがカウントされる。
絞り込んだときに見えている部分をカウントしたい。

参照元:https://oshiete.goo.ne.jp/qa/5151705.html



通常は、SUBTOTAL関数を使用する。
しかし限界がある。
そこで、SUBTOTALにcountifを組み合わせる。
=SUMPRODUCT(SUBTOTAL(3,OFFSET($L$1,ROW(INDIRECT("1:"&ROWS($L$2:$L$1000))),))*($L$2:$L$1000=1))


この式を使うとアンケートの集計などが、テーブルをそのままで参照できることができる。
今までは、テーブルで絞り込んだデータを別シートにコピーして、それをカウントしていた。
上記の関数を使うと余分なシートを作らなくて済む。

ここから下は自分しか分からない言葉になっているので他人が見ても理解不能。
しかし注意が必要!①アンケートの場合・・・
そう思われた理由を教えてください(複数選択)
1・2を選択した方
3・4を選択した方
この問いがやっかいである

1・2を選択・・・これはフラグを立てた列を参照させる
下記の場合、BH列に1・2を選択して回答している場合にフラグが立っている。
V列は回答列である。
SUMPRODUCT(SUBTOTAL(3,OFFSET(tテーブル!$BH$1,ROW(INDIRECT("1:"&ROWS(tテーブル!$BH$2:$BH$10000))),))*(tテーブル!$BH$2:$BH$10000=1)*(tテーブル!$V$2:$V$10000=B135))

次に無回答の場合は
=SUMPRODUCT(SUBTOTAL(3,OFFSET(tテーブル!$BH$1,ROW(INDIRECT("1:"&ROWS(tテーブル!$BH$2:$BH$10000))),))*(tテーブル!$BH$2:$BH$10000=1)*(tテーブル!$U$2:$U$10000<>""))


(tテーブル!$U$2:$U$10000<>""))を(tテーブル!$U$2:$U$10000=0))にすると
空白セルまでカウントされてします。
そこで空白以外をカウントするようにすればよい。
10000=0  0だったら
10000<>"" 空白以外



0 件のコメント:

コメントを投稿