• ベストアンサー

エクセルで男女別の数を数えたい

エクセル超初心者です。すみませんが教えてください。 以下のようなデータで、男○人、女○人を出したいのですが、どのようにすればよいのですか? A列     B列 アベ タロウ 男 アベ タロウ   男 イケダ ジロウ  男 イケダ ハナコ   女 イケダ ハナコ   女 ウノ サブロウ   男 ウノ サブロウ   男 6,815行あり、男女とも、重複して入っているのですが、重複していても1人として数えたいです。 よろしくお願いします。

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

  • ベストアンサー
  • kaisendon
  • ベストアンサー率44% (114/257)
回答No.2

こんにちは C1に =IF(COUNTIF(A$1:A1,A1)=1,A1,"") D1に =IF(C1="","",B1) それぞれの式を下方向にコピー (B列に空白行がないのであれば、C1とD1を範囲選択して  フィルハンドルのダブルクリックでもいいです) 任意のセルに =COUNTIF(D:D,"男") =COUNTIF(D:D,"女") で出来ると思います。 #1さんのC列の式  =IF(A2=A1,"",1) これですと、同じ名前の人が離れた行に入力されてしまっている場合に 別の人として判断されてしまいます。

aoi04
質問者

お礼

ありがとうございます!! おっしゃる方法でやってみました。 ご教授、本当に感謝します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

上の例だと 男3女1 になるってこと? C2に =IF(A2=A1,"",1) として重複のフラグを作るべきだよね。(後はC列を下までコピー。C1だけ1を入れとく) その後にD1に =IF(C1=1,IF(B1="男",1,2),"") として、あとはD列コピー。 最後にどこか好きセルに男の数 =COUNTIF(D1:D6815,1) と他のセルに女の数 =COUNTIF(D1:D6815,2) でいいと思う。 重複してもいいなら 単純に好きなセルに =COUNTIF(B1:B6815,"男") とか女とかやればできるよ。

aoi04
質問者

お礼

できました!! 早速のご回答、ホントにありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCELの技に関する質問

    EXCELに詳しい方がいらっしゃいましたら、すみませんがお教えください。 EXCELであるシートに以下のように一定ではない並びで「名前(年齢)」と複数のセルに入力してあったとします。 【BEFORE】 ヤマダ ハナコ(25)           ヤマダ タロウ(52) スズキ ジロウ(13) この時、この年齢に1歳加え、以下のような状態にしたいと思っています。 【AFTER】 ヤマダ ハナコ(26)           ヤマダ タロウ(53) スズキ ジロウ(14) そこで、上記のように3つくらいであれば普通に年齢を手補正すればいいのですが、数が大量にある時に、何か簡単にプラス1歳をしていく方法はありませんでしょうか? ややこしいことに、いろんな年齢の人がいるので置換を使っても手間がかかりますし、名前と年齢がひとつのセルに文字列として入っているうえ、列などが一定ではないので「=A2+1」といった簡単な数式を使うわけにもいきません。 (これは何かというと人名年齢入りの会社の組織図みたいなものなのです) どなた何か良いアイディアがありましたらどうぞよろしくお願い致します。

  • エクセルで名簿を作成しています。各班の男女数をまとめる式をいれたいので

    エクセルで名簿を作成しています。各班の男女数をまとめる式をいれたいのですがどなたか教えてください。 B列に1~8班およそ250行 E列に性別 別表で1班 男 人、女 人  2班・・・・・です。 よろしくお願いします。

  • エクセルで条件を2つ満たした数を求める関数

    エクセルで,下のようにA列に1~3,B列に男女が入力されています。例えば,「A列が2」で「男」という両方の条件を満たした数を求める関数を教えてください。よろしくお願いします。    A列 B列 1行目 2  男 2行目 1  女 3行目 3  男 4行目 2  女 50行目まで入力されています。

  • エクセルで同じ番号の合計を計算する方法

    それぞれの列に、 A:ID B:名前 C:勤務月 D:出勤日 E:勤務時間 F:時給 G:日当 のデータが入っています。 例を挙げると下記の通りになります。 ID,名前,勤務月,出勤日,勤務時間,時給,日当 0001,タロウ,1月,4日,4.5,800,3600 0001,タロウ,1月,5日,3,800,2400 0001,タロウ,3月,15日,7,1000,7000 0003,ハナコ,3月,15日,7,1000,7000 0003,ハナコ,10月,1日,5.5,900,4950 0004,ジロウ,3月,15日,7,1000,7000 0004,ジロウ,3月,16日,6,1000,6000 0004,ジロウ,3月,17日,6,1000,6000 0004,ジロウ,8月,1日,2.5,800,2000 このデータが8000行で1000人分程度あり、一人ひとりの月毎の給与を計算して欲しいと依頼をされました。 手計算では時間がかかりすぎるので、IDと勤務月と日当を使ってどうにかして計算したいのですが、関数orマクロ等を使った何か良い方法はありませんか? よろしくお願いします。

  • エクセルの文字内の空白の削除

    EXCELの表の列に下記のようにカタカナで氏名が入っています。 ヤマダ タロウ ヤマダジロウ できれば、全て空白を詰めて下記のように修正したいのですが、エクセルの関数若しくはBVAでは可能でしょうか??trim関数は前後の空白だけ削除ですよね?? 宜しくお願いします ヤマダタロウ ヤマダジロウ

  • Excelの作業で困っています。

    エクセルで、データをコード管理しているのですが、下記(山田太郎と田中花子)のように、同じ人でコード(C1)を2つ所有している場合があるので、重複しているのデータを探し出し、そのデータを削除する作業をしているのですが、5000件以上のデータがあるものですから、相当時間がかかってしまいます。何か関数とか使って処理する方法がないか教えてください。ちなみに今は、データの並び替えをして1件ずつ削除しています。     C1    C2       C3 R1  100  山田 太郎  ヤマダ タロウ R2  200  田中 花子  タナカ ハナコ R3  105  山田 太郎  ヤマダ タロウ R4  300  鈴木 次郎  スズキ ジロウ R5  250  田中 花子  タナカ ハナコ  

  • エクセル→CSVにした時、スペースの数が違う

    あるソフトにデータを取り込むにあたり、エクセルで作ったデータをCSVに変換しました。 変換方法は、エクセルの名前を付けて保存→ファイルの種類「CSV(カンマ区切り)」で保存して作りました。 行はそれぞれ人の名前が入っており、列にはその人の情報が入っています。 メモ帳で作成したCSVファイルを確認すると、スペースの数が違う場合があります。 具体的には、A列に名前、B列に対応する数字(例えば通し番号)が入っているとした時、 多くの人は名前と通し番号の間にスペースが10個程度入り(名前の長さで違う)、カンマで区切った後に通し番号が入ります。 しかし、一部の人にはスペースがはいらずに、名前にカンマと通し番号が続いて表示されます。 <メモ帳で作成したCSVファイルを開いた時の例> ヤマダ○タロウ○○○○○○○○○○○○○,1,… スズキ○ハナコ○○○○○○○○○○○○○,2,… タカハシ○イチロウ○○○○○○○○○○○,3,… タナカ○アイ○○○○○○○○○○○○○○,4,… キムラ○ジロウ,5,… サトウ○シヨウコ○○○○○○○○○○○○,6,… ※○はスペース この例のキムラジロウの時のように、スペースの数が違って表示される理由がなぜなのかと、どのようにしたらこれを回避できるのか教えていただけませんか? 使うソフトの仕様通りにCSVを作成しているのに、ソフトにデータをうまく取り込めないので、こういったところに問題があるのかと考えています。 ご回答よろしくお願いします。

  • 【エクセル】別の表を参照し、表の穴埋め

    表A 番号,氏名,フリガナ,性別,生年月日 1,鈴木 太郎,スズキ タロウ,男,1990/1/2 2,佐藤 花子,サトウ ハナコ,女,1993/4/5 3,加藤 次郎,カトウ ジロウ,男,1996/7/8 4,吉田 葉子,ヨシダ ヨウコ,女,1999/10/11 5,斉藤 良子,サイトウ ヨシコ,女,1999/12/13 表B 4,吉田 葉子 1,鈴木 太郎 6,落合 卓 のような2つの表があります。 そこで、以下の様に、 表Aを参照して表Bの穴埋めをする方法を考えています。 4,吉田 葉子,ヨシダ ヨウコ,女,1999/10/11 1,鈴木 太郎,スズキ タロウ,男,1990/1/2 6,落合 卓 表Aで見つからなかった人、部分に関しては 6,落合 卓,-,-,- のように、何か文字が入るとベストです。 マクロを利用してもOKです。 よろしくお願いします。

  • エクセルで男女別に名前を検索して表示するには?

    エクセルで名簿を作っています。 一つめのシートに男女混合の名簿を貼り付けます。 二つめのシートで,女だったら左の列,男だったら右の列に名前を表示させたいのです。どのような関数を組み合わせればできるでしょうか。 一つめのシートは,一列目に番号,二列目に氏名,三列目に性別が入力されています。

  • C# Selectメソッド?

    static void main { string [] a = {"タロウ","ハナコ","ジロウ"}; foreach (var n in a.Select((s.i =< new {i,s})) { Console.WriteLine(n.s +"さんは" + (n.i + 1) + "位"); } } 実行結果:タロウさんは1位 ハナコさんは2位 ジロウさんは3位 このコードの解説をお願いできませんでしょうか? 特に.Select((s.i =< new {i,s})の部分が分かりません。 s,iはどこから出てきたのでしょうか? 出力する文字列を作っているところですが、なぜn.sが配列の文字列を表し、n.iがループで回った数値を表しているのでしょうか? よろしくお願いします。

専門家に質問してみよう