プロが教えるわが家の防犯対策術!

エクセルデータを、条件付きで、件数を数える方法を教えていただけませんでしょうか?


01北海道 既存事業既存製品単独
04宮城 新規事業新規製品提携
04宮城 新規事業新規製品提携
04宮城 新規事業新規製品提携
04宮城 新規事業新規製品提携
04宮城 新規事業新規製品提携
10埼玉 既存事業既存製品単独
11埼玉 新規事業新規製品提携



13東京新規事業新規製品単独
13東京新規事業新規製品単独
13東京新規事業新規製品単独
13東京新規事業新規製品単独
13東京新規事業新規製品単独
13東京新規事業新規製品単独
13東京新規事業新規製品単独




上記のようなエクセルデータ(「01北海道」「既存事業」「既存製品」「単独」といった
列は、各々セルが分かれています)が、300行位あります。

この中で、例えば、
「埼玉」(00行A列)「新規事業」(00行B列)「新規製品」(00行C列)「単独」(00行C列)
といった条件、つまりパターン(パターンは、別の行に用意するつもりです)で、
そのデータの個数が、何個あるか、を
出したいです。

例えば、
CountIF


=COUNTIF(C3:G196,A00,B00,C00,D00)

とすると、エラーが出てしまいます。
そこで、カッコを追加すると、

=COUNTIF(C3:G196,(A00,B00,C00,D00))

とすると、「0」件となってしまいます。

良い方法はございますでしょうか?

業務で使用しているため、かなりあせっています。

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

A 回答 (5件)

なんで関数で解決したいのでしょうか?



抽出したい内容が全部別々のセルに入ってるのなら
フィルタで抽出した方が早くないですか?
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。今回は、各列項目で、合計を
出すのではなく、各列項目の組み合わせパターン別に、件数を把握したいので、フィルタでは難しいかと思いました。良い方法はございますでしょうか?

お礼日時:2009/05/29 11:53

こんばんは!


横からお邪魔します。

参考になるかどうか判りませんが・・・
↓の画像のように表を作ってみました。

尚、質問内容を見る限り、「新規事業」の場合は「新規製品」
「既存事業」の場合は「既存製品」となっているので
製品の項目は無視しています。

表の
H3セル =SUMPRODUCT(($C$3:$C$12=$H$1)*($E$3:$E$12=$H$2)*($B$3:$B$12=G3))
I3セル =SUMPRODUCT(($C$3:$C$12=$I$1)*($E$3:$E$12=$I$2)*($B$3:$B$12=G3))
J3セル =SUMPRODUCT(($C$3:$C$12=$J$1)*($E$3:$E$12=$J$2)*($B$3:$B$12=G3))
K3セル =SUMPRODUCT(($C$3:$C$12=$K$1)*($E$3:$E$12=$K$2)*($B$3:$B$12=G3))

と数式を入れて、H3~K3セルを範囲指定した後に
フィルハンドルの(+)マークでダブルクリックしています。

以上、当方使用のExcel2003での回答でした。
参考になれば幸いですが、
的外れの回答なら読み流してくださいね。m(__)m
「エクセルデータを、条件付きで、件数を数え」の回答画像4
    • good
    • 0
この回答へのお礼

ご丁寧な回答、誠にありがとうございました。的外れなんてとんでもないです。とても参考になりました。

お礼日時:2009/05/28 23:48

質問者のやってみた式(#1のお礼)


=SUMPRODUCT(( C3:G196="13東京")*(C3:G196="新規事業")*(C3:G196="新規製品")*(C3:G196="単独"))
のように、C3:G196のようにしてはダメ。
回答者は正しく回答されているのに質問者が、勝手に変えてしまっている。お詫びされたし。
C3:C196のように1列について、聞くような式を4つ連ねる。
*を使う意味はAND条件だからだよ。
ーー
それにエクセルバージョンを書くこと。
2007ならCOUNTIFSがあって考えやすい(Googleで具体的な式は照会のこと)
    • good
    • 0
この回答へのお礼

色々、ご指摘いただきありがとうございました。別の回答者の方には、別途お詫びいたします。

お礼日時:2009/05/28 23:42

検索条件を変える必要が有るなら、データベース関数を使用してはいかがでしょう。



データベースとして扱うには各列に見出しが必要ですので、仮に「地域」「事業」「製品」「種類」と、見出しを付けます。
また、数を数える為には数値が入っている列が必要なので、「WORK」と言う列を追加して全ての行に1を入れておきます(もし、必ず数値が入っている行があるならWORKは不要)。
これで、A:Eがデータベースとなります。

次に検索条件を設定する場所を作ります。
今回はG1:J2を検索条件で使います。
G1:J1に「地域」「事業」「製品」「種類」と、データベース同様の見出しをつけ、2行目に検索条件を入れます。
例:10埼玉 新規事業 新既製品 単独

ここまでが下準備。
適当なセルに↓をいれると、条件に一致した列の数がカウントされます。
=DCOUNT(A:E,"WORK",G1:J2)
「エクセルデータを、条件付きで、件数を数え」の回答画像2

この回答への補足

早々のご回答、誠にありがとうございました。
次に、東京のパターンをやりたい場合は、掲載していただいた上記の
図を基に
例えば、
G3に「13東京」、H3に「新規事業」、I3「新規製品」、J3に「提携」
といった場合、

=DCOUNT(A:E,"WORK",G1:J3)

とすると、2列目、3列目の合計になってしまいます。
K列以降に、横に伸ばしていけばよいのですが、32列分条件がありまして、1点づつコピーするのは、大変です。

このような場合には、どのようにしたらよいでしょうか?

お忙しいところ誠に恐縮ではございますが、ご教授いただければ
幸いに存じます。

補足日時:2009/05/28 20:38
    • good
    • 0
この回答へのお礼

早々のご回答、誠にありがとうございました。
次に、東京のパターンをやりたい場合は、掲載していただいた上記の
図を基に
例えば、
G3に「13東京」、H3に「新規事業」、I3「新規製品」、J3に「提携」
といった場合、

=DCOUNT(A:E,"WORK",G1:J3)

とすると、2列目、3列目の合計になってしまいます。
K列以降に、横に伸ばしていけばよいのですが、32列分条件がありまして、1点づつコピーするのは、大変です。

このような場合には、どのようにしたらよいでしょうか?

お忙しいところ誠に恐縮ではございますが、ご教授いただければ
幸いに存じます。

お礼日時:2009/05/28 20:38

=SUMPRODUCT((C1:C196="埼玉")*(D1:D196="新規事業")*(E1:E196="新規製品")*(F1:F196="単独"))


とかでどうですか?
参照範囲はよくわからないので変更してください。
"埼玉"等の条件はセル指定でもOKです。
EXCEL2007であれば複数条件が使える COUNTIFS 関数が使えますが…

この回答への補足

ありがとうございます。参照範囲を、
c3:G196

として、以下のように入力しました。

=SUMPRODUCT(( C3:G196="13東京")*(C3:G196="新規事業")*(C3:G196="新規製品")*(C3:G196="単独"))

ですが、「0」(ゼロ)となってしまいます。東京、新規事業、新規製品、単独、というパターンは、多数あるのですが。

補足日時:2009/05/28 19:15
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2009/05/28 20:32

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