• ベストアンサー

エクセルで重複データをカウントしたい

エクセルで下記のような表があり2000件くらいのデータがあります。 毎月出すシートの為、数は流動的です。(500~3000くらいです) ---- A  |B  |C  | 名前 | 性別|お菓子| ひろし| 男 | 飴 | けんじ| 男 | ガム| けんじ| 男 |チョコ| えみこ| 女 | ガム| 太郎 | 男 | 豆 | よしえ| 女 |チョコ| えみこ| 女 |チョコ| ---- 全体の人数を知るには SUM(IF(A2:A2000<>"",1/COUNTIF(A2:A2000,A2:A2000),0) の配列関数でカウントできますが、男女別の人数を知るにはどのような関数を入れればでるでしょうか。 男 3 人 女 2 人 のような結果がほしいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

=SUM(IF(A2:A2000<>"",(B2:B2000="男")/COUNTIF(A2:A2000,A2:A2000),0)) でいかがでしょう?

konga
質問者

お礼

わーー!きました。出来ました! ありがとうございます。 なんで出来たのかわからないのでちょっと勉強します。 ありがとうございました!!すごい!

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

男性 =SUMPRODUCT((MATCH(A2:A2000,$A$1:$A$2000,0)=ROW(A2:A2000))*(B2:B2000="男")*1) 女性 =SUMPRODUCT((MATCH(A2:A2000,$A$1:$A$2000,0)=ROW(A2:A2000))*(B2:B2000="女")*1)

konga
質問者

お礼

ありがとうございます。 でも、どちらも#N/Aと表示されてしまいました。。 なんででしょう。。こちらの環境のせいでしたらすいません! EXCEL2000です。関係ないですかね。 MATCH関数もROW関数も使った事が無かったので勉強してみます! ありがとうございました!

回答No.1

単純に別々のセルに =COUNTIF(B2:B2000,"男")と =COUNTIF(B2:B2000,"女")じゃだめですか? 表示形式のユーザー定義で↑のそれぞれのセルに "男"0"人"と "女"0"人"を組み合わせてみるとか。

konga
質問者

お礼

おお、即回答ありがとうございます。 =COUNTIF(B2:B2000,"男") だと結果は 男 4 人 になってしまうので、名前が重複していた場合は同一人物とみなして、何人いても1と数える数式である必要があるんです。。 なので、配列関数で全体までは出せましたが条件をプラスして男女別々の数を取り出したいと思っています。

関連するQ&A