電子書籍の厳選無料作品が豊富!

いつもお世話になっております。

エクセル(2007)で作成した表をフィルタ後に条件に合致する個数をカウントする方法を教えてください。
(例)
A列:名前
B列:出身県のデータがあったとします。

名前でフィルタをかけた後、出身県ごとのカウントを行いたいのですが、条件が無い場合のデータ個数はSUBTOTAL関数を使えばOKなのはわかります。
COUNTIFS関数を使うと、フィルタで隠れた行のデータまでカウントしていまいます。

ピボットを使う(使い方がイマイチわかりませんが・・・)という方法もあると思いますが、今回は同一シート無いに関数でカウントしたいのです。

どなたかよろしくお願いいたします。

A 回答 (2件)

=subtotal(3,a2:a3000)


あるいは
=subtotal(3,b2:b3000)
あるいは他の列

※空白セルは個数にカウントされないことに注意して、任意の列を選択

といった数式を、「フィルタで絞り込んだ際に非表示にならない位置」(表の最上行より上とか、最下行より下とか、別シートとか)に記入。その後、A 列で絞り込み、同時に B 列でも絞り込み。つまり、2 列で絞り込み。

以上により、A 列と B 列の AND 条件における個数が数式を記入したセルに表示されているはず。


>ピボットを使う(使い方がイマイチわかりませんが・・・)……

慣れ。やってみれば、意外とできます。たくさん使ってみてください。
    • good
    • 2
この回答へのお礼

ありがとうござ居ます。

お礼日時:2013/11/21 10:00

簡単な方法:


C2に
=IF(SUBTOTAL(3,B2),B2,"")
と記入、以下コピー

C列を対象に県ごとにCOUNTIFします。



#別の方法
>名前でフィルタをかけた後、出身県ごとのカウントを行いたい

具体的な内容が無いので具体的な数式は提示しませんが、その通りにCOUNTIFSで計算します。

簡単な計算例:A列を「田中何某」で絞った場合に表示されているB列の東京の数
=COUNTIFS(A:A,"田中*",B:B,"東京")

この方式で具体的な質問をし直したいときは「ついでに聞いちゃえ」はせずに、一回ご相談を解決で閉じてから改めて「事実こういう状況になっててこういう具合に絞った時にこーいう計算がしたいんです」という具体的に目に見える様子を添えて、ご相談を投稿し直して下さい。





#どーしても作業列を使いたくないときのお勧めじゃない一発で計算できる式:
=SUMPRODUCT((B2:B300="東京都")*SUBTOTAL(3,INDIRECT("B"&ROW(B2:B300))))

3000行を超える行範囲を対象に計算してはいけません。
    • good
    • 2
この回答へのお礼

ありがとうございます。

お礼日時:2013/11/21 10:00

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

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