こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel2003フィルタ&関数の件

お世話になります。
Excel2003についてですが、データにフィルタを設定した後、数字を出したい列を指定して、関数COUNTIFを実行してみましたところ実際自分で試しに数えた数字と合わないのですが原因が判りません!どなたか解決策のご教授を御願いいたします。

投稿日時 - 2009-11-24 23:20:37

QNo.5473649

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

フィルタをかけてデータを絞り込んだあとでも、通常使っている関数では隠されたデータも含めて、つまり、フィルタ前の状態のままのデータについて関数が働きますので、フィルタの後で表示されているデータについて残念ながら関数を使うことができません。
唯一、フィルタ後に表示されているデータについて適用できる関数はSUBTOTAL関数です。この関数では表示されている数値の入ったセルの数や空白でないセルの数などを数えることはできますがCOUNTIF関数に相当するようなことはできません。
フィルタ後のデータについてCOUNTIF関数を使いたい状況は複数の条件を満たすデータの数を数えることができる関数が用意されていればよいのではないでしょうか。そのような場合にはSUMPRODUCT関数やDCOUT関数、DCOUNTA関数などを使うことになりますね。
例えばSUMPRODUCT関数ではA列でAクラス、B列で50以上、C列で70以上の人数を数えるとしたら次のような式になりますね。
=SUMPRODUCT((A1:A100="Aクラス")*(B1:B100>=50)*(C1:C100>=70))

投稿日時 - 2009-11-25 07:22:13

お礼

ご親切なアドバイス有難うございます。
SUBTOTAL試みてみます。COUNTIF関数のようには出来ない事も承知致しました。

投稿日時 - 2009-11-25 21:53:51

抽出されたレコードのみをカウントするのではあれば、
=SUBTOTAL(2,range) または =SUBTOTAL(3,range)
が使えそうな気がしますが・・・

投稿日時 - 2009-11-25 00:20:23

お礼

アドバイス有難うございます。
参考にさせていただきます。

投稿日時 - 2009-11-25 21:54:30

あなたにオススメの質問