• ベストアンサー

エクセルオートフィルタ時のカウント

1行1件としてデータ集計をしています。 例)  ABC 1 7/1 ○ xxx 1 2 7/2 △ aaa 1 3 7/2 ○ xxx 1 4 7/3 □ zzz 1 5 7/4 □ aaa 1 例えば、オートフィルタで○だけカウントしたいのですが(答=2)、 カウンタ関数ですと全体数(選択していないデータも)カウントされてしまいます。 (上の場合は「5」となります) SUBTOTALのようにオートフィルタで選択したデータのみの個数を数える ことはできないのでしょうか? 現在は各行の最後に「1」を入れ、最終行でSUBTOTALしています。 これで用は足りていますが、もう少しかっこよくできたらなぁと 思っています。 ど素人な質問ですみません。 マクロなど全くわかっていません。 どなたかご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.3

SUBTOTAL関数を調べてみるとすぐ分かると思います。 SUBTOTAL(集計方法,参照範囲) 引数の集計方法は 非表示の値を含める 非表示の値を無視する 関数 1 101 AVERAGE 2 102 COUNT 3 103 COUNTA 4 104 MAX 5 105 MIN 6 106 PRODUCT 7 107 STDEV 8 108 STDEVP 9 109 SUM 10 110 VAR 11 111 VARP となっており、今回非表示行は含めずで○のカウントなので =SUBTOTAL(103,参照範囲) になります

wanwan1014
質問者

お礼

SUBTOTAL関数についてとても勉強になりました。 おかげさまで無事解決しました。 ありがとうございました。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 >オートフィルタで選択したら自動で個数を数えたいのですが ⇒SUBOTAL関数「=SUBTOTAL(3,B列のデータ範囲)では駄目なのでしょうか。 わざわざD列に「1」を入力しておく必要はないと思います。 参考.仮にE1に入力規則でリスト定義し、E2に=COUNTIF(B:B,E1)と設定しておけばオートフィルタを掛けずに個数を抽出できますが如何でしょうか。

wanwan1014
質問者

お礼

SUBTOTAL関数は知っていたのですが、集計方法「9」を意味も考えず使っていました。勉強になりました。 そして、無事解決しました。 参考の方法も試してみます。ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 =COUNTIF(B:B,"○")

wanwan1014
質問者

補足

さっそくありがとうございます。 オートフィルタで選択したら自動で個数を数えたいのですが、COUNTIFだと都度条件を書き替える必要がでるのでは? 書き替えなくて済む方法があるのでしたら、それも併せて教えていただきたいのですが・・・すみません。 ちなみにカウンタとして使用するのは「C」列、オートフィルタで選択するのは「B」列になります。 質問の仕方が悪くすみません。よろしくお願いします。