- ベストアンサー
エクセルデータを、条件付きで、件数を数える方法を教えていただけませんでしょうか?
エクセルデータを、条件付きで、件数を数える方法を教えていただけませんでしょうか? 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」件となってしまいます。 良い方法はございますでしょうか? 業務で使用しているため、かなりあせっています。 よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
検索条件を変える必要が有るなら、データベース関数を使用してはいかがでしょう。 データベースとして扱うには各列に見出しが必要ですので、仮に「地域」「事業」「製品」「種類」と、見出しを付けます。 また、数を数える為には数値が入っている列が必要なので、「WORK」と言う列を追加して全ての行に1を入れておきます(もし、必ず数値が入っている行があるならWORKは不要)。 これで、A:Eがデータベースとなります。 次に検索条件を設定する場所を作ります。 今回はG1:J2を検索条件で使います。 G1:J1に「地域」「事業」「製品」「種類」と、データベース同様の見出しをつけ、2行目に検索条件を入れます。 例:10埼玉 新規事業 新既製品 単独 ここまでが下準備。 適当なセルに↓をいれると、条件に一致した列の数がカウントされます。 =DCOUNT(A:E,"WORK",G1:J2)
その他の回答 (4)
- ookami1969
- ベストアンサー率14% (137/953)
なんで関数で解決したいのでしょうか? 抽出したい内容が全部別々のセルに入ってるのなら フィルタで抽出した方が早くないですか?
お礼
アドバイスありがとうございます。今回は、各列項目で、合計を 出すのではなく、各列項目の組み合わせパターン別に、件数を把握したいので、フィルタでは難しいかと思いました。良い方法はございますでしょうか?
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 横からお邪魔します。 参考になるかどうか判りませんが・・・ ↓の画像のように表を作ってみました。 尚、質問内容を見る限り、「新規事業」の場合は「新規製品」 「既存事業」の場合は「既存製品」となっているので 製品の項目は無視しています。 表の 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
お礼
ご丁寧な回答、誠にありがとうございました。的外れなんてとんでもないです。とても参考になりました。
- imogasi
- ベストアンサー率27% (4737/17069)
質問者のやってみた式(#1のお礼) =SUMPRODUCT(( C3:G196="13東京")*(C3:G196="新規事業")*(C3:G196="新規製品")*(C3:G196="単独")) のように、C3:G196のようにしてはダメ。 回答者は正しく回答されているのに質問者が、勝手に変えてしまっている。お詫びされたし。 C3:C196のように1列について、聞くような式を4つ連ねる。 *を使う意味はAND条件だからだよ。 ーー それにエクセルバージョンを書くこと。 2007ならCOUNTIFSがあって考えやすい(Googleで具体的な式は照会のこと)
お礼
色々、ご指摘いただきありがとうございました。別の回答者の方には、別途お詫びいたします。
- CMLT
- ベストアンサー率40% (143/357)
=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」(ゼロ)となってしまいます。東京、新規事業、新規製品、単独、というパターンは、多数あるのですが。
お礼
早々のご回答、誠にありがとうございました。 次に、東京のパターンをやりたい場合は、掲載していただいた上記の 図を基に 例えば、 G3に「13東京」、H3に「新規事業」、I3「新規製品」、J3に「提携」 といった場合、 =DCOUNT(A:E,"WORK",G1:J3) とすると、2列目、3列目の合計になってしまいます。 K列以降に、横に伸ばしていけばよいのですが、32列分条件がありまして、1点づつコピーするのは、大変です。 このような場合には、どのようにしたらよいでしょうか? お忙しいところ誠に恐縮ではございますが、ご教授いただければ 幸いに存じます。
補足
早々のご回答、誠にありがとうございました。 次に、東京のパターンをやりたい場合は、掲載していただいた上記の 図を基に 例えば、 G3に「13東京」、H3に「新規事業」、I3「新規製品」、J3に「提携」 といった場合、 =DCOUNT(A:E,"WORK",G1:J3) とすると、2列目、3列目の合計になってしまいます。 K列以降に、横に伸ばしていけばよいのですが、32列分条件がありまして、1点づつコピーするのは、大変です。 このような場合には、どのようにしたらよいでしょうか? お忙しいところ誠に恐縮ではございますが、ご教授いただければ 幸いに存じます。