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

EXCELでオートフィルター後の集計方法
EXCELの表でオートフィルターで抽出後、数値であればSUBTOTAL関数を使用し集計するが、
「○」や「×」のように文字例を集計したいです。どのような関数を使用すればできますか?
どなたか教えてください。
ちなみに「EXCEL2000」を使用してます。

A 回答 (8件)

質問の目的や元データのリストのレイアウトが提示されていないので、類推した回答しかできないのですが、例えばいくつかの項目でフィルタしたとき、特定の列(例えばB列)に入力されている「○」の数をカウントしたいという意味なら、以下のような関数でその数をカウントすることができます。



=SUMPRODUCT(SUBTOTAL(3,INDIRECT("B"&ROW(B2:B1000)))*(B2:B1000="○"))

#このようなご質問では、配列数式など複雑な数式を使う必要がある場合も多いので、質問の際には(あるいは補足回答で)表のレイアウトや、どのような形式で表示させたいのかなどを、できる限り具体的に提示されたほうが、皆さんからより的確な回答を得ることができると思います。

ちなみに、目的が○や×の入力されているB列の値ごとの集計がしたいという意味なら、列フィールドにB列の項目名、行フィールドに絞り込み条件を配置したピボットテーブルを使用されることをお勧めします。
    • good
    • 1

回答No6です。

×の数について空白行があるのでしたらA列を使った式を最後に示しましたがそれは誤りでした。B列を使った式が正しいです。最後に示した式は削除してください。
    • good
    • 1

いくつかの項目でフィルタをした場合、フィルタの種類を次々に変えるような場合などにはSUMPRODUCT関数などでは対応が難しいでしょう。

例えば次のように作業列を使って行うことでSUBTOTAL関数をうまく使うことができますね。
例えばA1セルにグループ名の文字があり下行にデータがあるとします。B2セルから下方には〇、×が入力されているとします。そこで例えばグループ名でフィルタをするわけですが、SUBTOTAL関数が使えるように作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(B2="○",1,"")

これで〇の有る行には1が表示されます。
次にフィルタ後の〇の数ですが、例えばD1セルに〇を入力し、E1セルには〇の数を表示させるために次の式を入力します。

=SUBTOTAL(2,C2:C1000)
または =SUBTOTAL(9,C2:C1000)

F1セルには×を入力し、G1セルにはその数を表示させるために次の式を入力します。

=SUBTOTAL(3,B2:B1000)-SUBTOTAL(2,C2:C1000)

B列に空白の行があるのでしたら次の式でよいでしょう。

=SUBTOTAL(3,A2:A1000)-SUBTOTAL(2,C2:C1000)
    • good
    • 0

>ほしい回答は、「○」が 3 「×」が 2です。



どのようなレイアウトのデータなのでしょうか?

通常ならピボットテーブルを利用するのが簡単ですが、関数で表示するなら、

例えばA列でフィルタしたデータで、B列に○や×が入力されている場合に、B列の○の数をカウントするならSUMPRODUCT関数を使うことになります。

=SUMPRODUCT((A2:A1000="フィルタしたデータ")*(B2:B1000="○"))
    • good
    • 0

こんばんは!


外していたらごめんなさい。

もしかしてこういうことですかね?
↓の画像で説明すると・・・

D2セルに
=SUMPRODUCT(($A$2:$A$100=D1)*($B$2:$B$100=$F$2))

という数式を入れ、となりのE2セルまでオートフィルでコピーしています。
これでF2セルにB列の条件を入力すれば、
B列が「AA」のものでA列が「○」と「×」の個数を表示されます。

結局オートフィルタでB列の「AA」と一致する条件でオートフィルタをかけたことと同じになると思います。

もし列数がもっとありオートフィルタの条件が増えるのであれば、数式が少し長くなるだけです。

以上、参考になればよいのですが
的外れなら読み流してくださいね。m(__)m
「EXCELでオートフィルター後の集計方法」の回答画像4
    • good
    • 0

=SUBTOTAL(3,A2:A100)



にしておいてフィルターで○(もしくは×)だけ表示してやればいかがですか。
    • good
    • 0

=COUNTIF(範囲,"文字列")


で集計できます。
    • good
    • 0

フィルタされているデータの個数を求めたいということでしょうか?



その場合はSUBTOTAL関数の引数を「3」にします。

=SUBTOTAL(3,セル範囲)

この回答への補足

早速の回答ありがとうございます。
質問の仕方が悪かったようでご迷惑かけます。
ほしい回答は、「○」が 3 「×」が 2です。
よろしくお願いします。

補足日時:2010/09/09 23:01
    • good
    • 0

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