プロが教える店舗&オフィスのセキュリティ対策術

今回は数値のカウントを教えてください。
下記のような場合、A列の1でフィルターをかけた場合
B列の0を除いた整数のセルの個数をカウントするには
どのような関数がのぞましいでしょうか?
  A  B   
1  a  b
2  1  10
3  1  12  
4  0   0  
5  0   0
6  1  15
7  1   0  
8  1   0
・     ・     
・     ・
11  1  12

countifだとフィルターが有効にならず、subtotalでは
「0以外」のオプションが有効になりません。

よろしくお願い致します。

A 回答 (4件)

こんにちは。



>実は膨大なデータなので補助列を作らないで
>出来ればと思ってます。

ちょっと気になって、前回の私の書き込みを調べてみましたが、

前回
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1578916
EXCELで0を除いた平均値を求めるには?

を書いた人ですよね。

前回の、私の回答は試してはいませんね。
SUBTOTAL のユーザー定義関数の VSUM という関数です。

=VSUM(2,B2:B11,TRUE)

で、0以外のCOUNT が出るはずですし、平均値なら、

=VSUM(1,B2:B11,TRUE)

になります。

でも、もっと簡単なのは、範囲を選択して、置換で、0を抜いてしまえばよいのでは?

この回答への補足

Wendy02さん

いつも丁寧なご回答をありがとう御座います。
前回の件は申し訳ありませんでした。関数だけで
解決できるかと思いましたが、難しいコードが必要だったようで、どのように活用するのかわからないでいました。

今回の関数も先日のコードが必要なのですね。
勉強します。。。

補足日時:2005/08/24 12:03
    • good
    • 0
この回答へのお礼

おせわさまです。

ついに出来ました。先日のVBAをなんとかものにしようと勉強しました~(^^ゞ

何事も諦めていては駄目ですね。
今回は本当にお世話になりました。またの機会がありましたら、よろしくです。

お礼日時:2005/08/25 11:58

>A列の1でフィルターをかけた場合


さらにB列でオートフィルタオプションで「 0 と等しくない」でフィルターをかけて絞り込んで
=SUBTOTAL(2,C2:C11)
これで正確にカウントされます。

この回答への補足

ありがとうございます。

皆様のご教授は非常に参考になりますが、当方の具体例が悪いので、伝わってないようですね。申し訳ないです。

改めて具体例を挙げてみますのでよろしくお願い致します

補足日時:2005/08/24 08:15
    • good
    • 0

こんにちは。



簡単に考えれば、

C列等に補助列を作って、

C2:~
=IF(B2=0,"",B2)

として、

計算で、このようにすればよいのではありませんか?
 =SUBTOTAL(2,C2:C11)

>例えばA列が不規則な数字の場合は上記の関数ではだめですよね。

A列でフィルタを取って、B列のカウントだから、A列に結果が出ていれば、そのカウントには同じことだと思います。もし違うのでしたら、具体例がないと分らないですね。

この回答への補足

ありがとうございます。

実は膨大なデータなので補助列を作らないで
出来ればと思ってます。

実際はA列のみでなくフィルタを掛ける場所が複数あるので困ってます。

補足日時:2005/08/24 08:09
    • good
    • 0

こんにちは


フィルターにかける、かけないに関わらず
=SUMPRODUCT((A2:A11=1)*(B2:B11<>0))
のようにしては如何でしょうか?

この回答への補足

ありがとう御座います。

補足として例えばA列が不規則な数字の場合は上記の関数ではだめですよね。

これって別問題でしょうか。

補足日時:2005/08/23 17:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています