- ベストアンサー
エクセル 条件に合うセルをカウントする方法
エクセルで条件に合うセルをカウントする方法が知りたいです。 A B C D 男 ○ 女 ○ 女 ○ 男 ○ このようになっているとき A B C D 男 1 1 女 2 こんな風に集計されるようにしたいのです。 上の表には"○"以外が入力されることはありません。 わかりにくい図で申し訳ありません。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A B C D E 1 男 1 1 0 0 2 女 0 0 2 0 3 男 ○ 4 女 ○ 5 女 ○ 6 男 ○ 行番号と列番号を無視するとわかりにくいですよ。 1行目と2行目のB~Eセルに集計結果を出すとして、 B1セルの式:=SUMPRODUCT((($A3:$A6)="男")*((B3:B6)="○")) B2セルの式:=SUMPRODUCT((($A3:$A6)="女")*((B3:B6)="○")) C~E列へはコピーをすればOKです。 ="男" のところを =$A1 ="女" のところを =$A2 としてもいいですね(そのほうがスマート!?)。
その他の回答 (4)
- sky-plane
- ベストアンサー率37% (33/88)
男と女で並べ替えをしましょう。 表の範囲を選択して昇順で並べ替えをしてください。すると、男の項目が先にくると思います。 つぎに、このような場合に使う関数があるのでそれを使いましょう。 それは、COUNTIFという関数です。COUNTがカウントするための関数ですが、それにIFがついているので、この関数は『条件に合う項目をカウントする関数』です。書式は =COUNTIF(範囲,検索条件)です。 これを使うと、範囲はCOUNT関数と同じ使い方で数えたい範囲を選択します。 次に検索条件ですが、ここでは条件が『セルの内容が"○"であること』ですね。なので、検索条件には"○"を選択します。ダブルクォーテーションをお忘れなく。 そうすれば条件に合うセルをカウントすることができます。 ちなみに、最初に並べ替えをした理由ですが、ここで並べ替えをしておかなければ使い勝手が悪くなってしまいます。 ここでは男は男だけの数、女は女だけの数を求めたいので、 A B C D 男 ○ 女 ○ 女 ○ 男 ○ としていると後々変更が利かなくなってしまう(できないことはないが非常に面倒くさい)ので、並び替えをして A B C D 男 ○ 男 ○ 女 ○ 女 ○ というふうにしました。 わかりにくいところや疑問に思うことがありましたらまたお知らせください。
お礼
日々、入力していくデータを集計していくので、並べ替えるのは無理でした。説明が足らず申し訳ありません。 回答ありがとうございました。
- merlionXX
- ベストアンサー率48% (1930/4007)
A列が男、B列が○ の数は以下の式で求められます。 =SUMPRODUCT((A1:A4="男")*(B1:B4="○"))
お礼
そのままの式でうまくできました。 ありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 仮に元表はA1:E5、集計表はA7:E9としB7:E7にA・B・C・D、A8に男、A9に女が設定されているとします。 B8に=SUMPRODUCT(($A$2:$A$5=$A8)*($B$1:$E$1=B$7)*($B$2:$E$5="○"))、縦横にコピーして下さい。 因みに集計値が「0」の場合は空白としたい場合、セルの書式設定→表示形式タブのユーザ定義で0;-0;;@(半角)として下さい。
- sasami127
- ベストアンサー率30% (26/86)
○の代わりに「男」「女」を入れるのではダメなんでしょうか? =COUNTIF(B2:B5,"男") =COUNTIF(B2:B5,"女") (式の中のB2:B5は集計したい範囲を設定して下さい) そうすれば単純に集計が出来ますが、やはり○でないと都合が悪かったら的外れな回答ですみません。
お礼
回答ありがとうございました。
お礼
コピーして範囲を変更するだけでうまくできました。 説明もわかりやすかったです。 ありがとうございました。