アプリ版:「スタンプのみでお礼する」機能のリリースについて

あるデータの分析で、以下のような長期のデータベース(例えば1000行)から
任意の期間をオートフィルタで抽出、表示をして

B列の発生回数
C列の”○” ”×”の数をカウントしたいのですが

  A列      B列  C列
1 2007/4/18   12   ○
2 2007/4/19   3
3 2007/4/20   22    ×
4 2007/4/23
5 2007/4/24
6 2007/4/25   2
7 2007/4/26
8 2007/4/27  
9 2007/4/30
10 2007/5/1    4    ○

========================================
結果        5
○              2
×              1

=SUBTOTAL(3,B1:B10) とすると  行数の10になってしまいます。

全体の行からカウント
=COUNT(B1:B1000) のように したいので

SUBTOTAL関数と COUNTを使ってうまくできないでしょうか?

A 回答 (3件)

オートフィルターで抽出した"○"や"×"他、記号等は SUBTOTAL関数ではカウント出来ません。

("○"だけなら"3"で出来ますが、混在は不可ですね)
お手数でも、オートフィルターで抽出したデータをどこかにコピーして、COUNTIF か COUNT関数で集計されてはいかがですか。
    • good
    • 0

C列の表示は○、×でなくてはいけませんか?


○を数値の1000に、×を数値の1に置き換えれば、1000行までなら計算できます。(C列と別の列に計算式で値を入れても良いです)

フィルタで期間を絞った後、○(1000)の数は
 =INT(SUBTOTAL(9,C1:C1000)/1000)
×(1)の数は
 =MOD(SUBTOTAL(9,C1:C1000),1000)
で求めることができます。

B列の数字が入っているセルの個数は
 =SUBTOTAL(2,B1:B1000)
で良いと思います。

この回答への補足

なるほど!
いいアイデアですね。
実は、○、×のほかに △ もありますが・・
 =SUBTOTAL(2,C1:C1000)
から ○、×の数を引いてなんとかできそうです。
ありがとうございました。

補足日時:2007/05/14 18:07
    • good
    • 0

オートフィルタを使用してない状態(フィルターオプションで書き出す等、使用しても行う方法はありますが)であれば、昔懐かしい?Dcount関数等やテーブル機能(引数の文字列に"○"や"×"等を指定する)を使えば可能なのでは?



EXCELのバージョンにもよりますが、もし関数一覧で存在しなくても動く関数はたくさんあります。

たとえばexcel2002だと
=dcount()と手動で入力後、エンターを押さずにfxをクリックすると書式が現れます。
    • good
    • 0

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