• ベストアンサー

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

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

  • konga
  • お礼率93% (45/48)

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

  • ベストアンサー
回答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

  • 重複データの計算式

      教えてください!      B    G    i     N    O    Q   V   W     1  飴   20個  ガム  5個   重複  アイス 4個      2  ガム  3個  りんご 2個         飴  4個  重複   3 すいか 1個   桃   3個        ブドウ 2個        別シート      A    B     C    D     E    F            1  飴   24個   りんご  2個   アイス  4個   2  ガム  8個    桃    3個   ブドウ  2個   3 すいか 1個      B1の飴20個とQ2の飴4個 B2のガム3個とI1のガム5個、飴、ガムの重複す  るデータどうしが、B、I、Q列に不特定にある場合の計算式を教えてください。   B列に対してI列、Q列の商品が重複までは抽出はできましたが、   別シートのセルに重複しない表を作りたいのです、   別シートB1、B2 D2、F2に入る関数を教えてください。  

  • エクセル2000:こんな重複チェックの仕方を教えてください

    下記B列のように関数を入れると、重複していないものが1、しているものが2以上の数値を返します。「1」で、オートフィルタをかけると重複したものを表示しないと思いきや、下の例では山田太郎も当然、表示されません。そこで、山田太郎のうち、一回目の山田太郎は「1」で返すということはできますか?そうするとオートフィルタで正しい重複チェック後の抽出ができると思うのですが・・・。それとももっと簡単な方法はあるのでしょうか?   A       B       B列に入れる計算式       =COUNTIF(A:A,$A1) 山田太郎   2 川村花子   1 山田太郎   2

  • エクセル 複数条件のカウント関数 

    エクセル初心者です。過去の質問等を確認しましたがわからなかったので 宜しくお願い致します。 A   B     男 ○ 女   × 女   ○ 男  × 男  ○ 男  × A列とB列が一致して1つとして数えたいです。 ○の数をカウントする方法まではなんとかなりました =COUNTIF(B3:B100,"○")&"" 男の○が何個かわかる関数を教えていただけないでしょうか。 2003年度版のエクセルを使用しております。

  • EXCELで条件に合致したデータから、さらに重複するデータを1と数える

    EXCELで条件に合致したデータから、さらに重複するデータを1と数える ことが関数で出来るでしょうか? 例えば   A ,B ,C 1 見積No 、担当者、商品名 2 111、山田、パソコン 3 111、山田、プリンタ 4 222、佐藤、HDD 5 333、山田、パソコン 6 444、青木、パソコン 7 555、山田、HDD パソコンの担当者ごとの見積もり件数はという問いに対して  山田 2件  佐藤 0件  青木 1件 という解答を求めたいのです。 見積Noが同じ場合は同じ見積書で明細が2行の場合で、これを1件と数えたいのです。 フィルタで絞った後に、=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100)) という関数を試しましたが、フィルタを無視して全ての件数が対象となってしまいました。 SUMに対するSUBTOTAL関数のようなものがあれば便利だったのですが…。 うまく質問出来たのか不安ですが、判る方お願いします。 m(__)m  

  • Excel countifの複数条件

    Excelで作成したリストで年代別且つ、男女別を求める関数をご教示下さい。 年代別は、 =COUNTIF(A1:A10,">19")-COUNTIF(A1:A10,">29") で20代に人数を求めることが出来るかと思います。 また、男女別は、 =COUNTIF(C1:C10"男") で求められると思います。 これらを両方一緒に求める関数はありますでしょうか? ご教示お願いいたします。

  • エクセルで重複データの実人数の出し方

    四半期(最終的には1年間の数を出す)の営業担当者ごとのサービス利用者延べ人数と実人数、利用者の居住区も集計したいんです。SUMPRODUCTやCOUNTIFを使う事は分かってきたんですが選択セルが多すぎととびとび過ぎてうまくいきませんでした。応用きかずお知恵をおかりしたいです。 例:下は一か月分で横に同じような表が3回並ぶことになります。  A子担当      B子担当     C子担当      →2ヶ月目    →3ヶ月目 山田太郎 大阪 佐藤栄作 東京 後藤花子 福岡     縦3列      縦3列 夏目良子 大阪 山口花子 大阪 山本次郎 東京 石川三郎 東京 木内恵子 福岡 堀田直美 大阪     ・     ・    ・      ・    ・     ・    ・     ・    ・      ・    ・     ・    ・     ・    ・      ・    ・     ・   ←35件MAX ※営業人数は今後4人になり居住区は3箇所のまま。名前欄は下に35人まででMAX。 延べ人数を出すのは簡単ですが、3か月間でどの営業が何人と関わりどの地区に住む人だったかが知りたいのです。実人数と実居住区を出すのがこの上のような表だと難しくなるのです。関数は足す引く割る掛けるくらいしか使ったことありません。よろしくお願いします。

  • 男女学年別人数のカウント

    表1を使って、 表2を作るには、どのような関数を使えばいいでしょうか? 分かりそうで、分からず、日数もないので質問させていただきました。 よろしくお願いします。 (表1)    A       B     C 1 (氏名)   (性別) (学年) 2 山田太郎   男   小1 3 田中花子   女   小3 4 山田次郎   男   小6 5 山口三郎   男   小2 6 武田五郎   男   小1 7 上杉真紀   女   小5 8 藤田亜美   女   小4 (表2) 男(人数) 女(人数) 小1 小2 小3 ・・

  • エクセルのオートフィルタでのデータ抽出&カウント

    エクセルのローデータでのオートフィルタでのデータ抽出&カウントで困っています。 A列にNo.、B列にデータB、C列にデータC、D列にデータDがあるとします。 それぞれの列に1~9までの数字があり、 それぞれの列、 データの一番下(正確には1行開けて)にはSUMやCOUNTIFなどの関数(計算式)が入っています。 で、これをフィルターにかけ抽出した際、この抽出したデータのみで計算の値を表示したいのですが、 やってみると 全データの計算の値で表示されてしまいます。 どうすればよいのでしょうか? 大変困っています。 よろしくお願いいたします。

  • エクセルでの行数カウント

    エクセルで A列 B列 1行 ●1 C ⇒カウント 2行 X1 D  3行 ●2 E 4行 X2 F 5行 ●3 C ⇒カウント 6行 ●4 D 7行 X3 E A列で「●」を含み、なおかつB列で「C」である行の数(例でいうと「2」)を求める 数式を教えてください。 ちなみに A列 B列 1行 ● C ⇒カウント 2行 X1 D  3行 ● E 4行 X2 F 5行 ● C ⇒カウント 6行 ● D 7行 X3 E であればA列が全く「●」に等しいものでカウントする場合は、下記の関数で計算できます。 {=SUM(IF(B1:B7="C",IF(A1:A7="●",1,0)))} COUNTIF関数では、"●*"のように「任意の文字」を指定することが可能ですが、IF関数の 中ではできないようです。

  • ExcelのSUMIF関数などについて教えて!!

    質問は2つです。 SUMIF関数やCOUNTIF関数で検索条件にキーワードを入れて一致したもの をcountしたりsumで足したりしますが、ここに複数のキーワード 例えばaとbがある場合(and)を指定するにはどうやって関数を記述したらいいでしょうか?また aかbがある場合(or) aがない場合 (not) などのor,notで条件を指定できますか? 質問2 sumで足した金額を円ですと表示したい場合 =sum(A1:A2)&"円です"と記述したりしますが このセルの金額を他のセルから呼び出しsumなどで足したりすると エラーになります。 "円です"ってついてるから他のセルでこの数値を呼び出したときに エラーになるみたいですが、回避方法はありますか? ちなみにCONCATENATE関数を使用してもダメでした。 よろしくお願いします。

専門家に質問してみよう