• ベストアンサー

エクセルで年代別の中からの性別人数を抽出

エクセル年代別に男女の人数を抽出したいのですがどうすれば いいのでしょうか? データベースにはリストがありますが どのような式を入力すればいいのでしょうか

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

もう少し、読み手の立場になって質問されたらいかがでしょう? どんな形式でリストを持っているのか書かないと普通、答えられないですよ。

good-sun
質問者

お礼

スイマセン追加です =COUNTIF(sheet1!F2:F1000,"<=5")-COUNTIF(sheet1!F2:F1000,"<=0") このように年齢は抽出できたのですが性別も年代別で抽出したいのです。 よろしくお願いします

good-sun
質問者

補足

スイマセン 【Sheet1】   A    B     C    D    E   F 1 コード  名前1  名前2  性別  誕生日 年齢 2  001  ●●●  ●●●  男  S50.1.1 32 3  002  ●●●  ●●●  女  S53.1.1 29 4  003  ●●●  ●●●  男  S53.1.1 29 5  004  ●●●  ●●●  男  S40.1.1 42 6  005  ●●●  ●●●  女  S63.1.1 19 7  006  ●●●  ●●●  男  S33.1.1 59 データベースがあります。 上記の中から年齢別に抽出したいのです 【Sheet2】 A   B C D 合計人数  男   女 1~5(才)    20   10   10 6~10(才)    50   25   25 11~15(才)   2500  1500  1000 16~20(才)   5000  1000  4000 21~25(才)   5000  1000  4000 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*--*-*-*-* 上記の様なフォーマットに表示したいのですが どのようにすればよいのでしょうか?

その他の回答 (5)

  • qaaq
  • ベストアンサー率36% (146/404)
回答No.6

#5のqaaqです。 Ans5はイマイチなので、下記のように修正します。 ------ =SUM(IF((D2:D11="男")*(F2:F11>=6)*(F2:F11<=10),1)) この式を『配列として入力』すると、6~10才の男の集計が得られます。 #5との違いは、IF文の使い方です。 配列の入力は、式を入力した後に「Shift+Ctrl+Return」です。 表示には{} が付きます。 例えば、『6~10才の男で名字(名前1)が田中』の『人数集計』なら、 {=SUM(IF((D2:D11="男")*(F2:F11>=6)*(F2:F11<=10)*(B2:B11="田中"),1)} になり、'*(B2:B11="田中")'を追加するだけで集計ができます。 また、『6~10才の男で名字(名前1)が田中以外』の『年齢平均値』なら、 {=AVERAGE(IF((D2:D11="男")*(F2:F11>=6)*(F2:F11<=10)*(B2:B11<>"田中"),F2:F11))} でいけます。

good-sun
質問者

お礼

お返事遅くなりましてすいませんすごく参考になりました ありがとうございました。

  • qaaq
  • ベストアンサー率36% (146/404)
回答No.5

=SUM(IF(D2:D11="男",1)*IF(F2:F11>=6,1)*IF(F2:F11<=10,1)) この式を『配列として入力』すると、6~10才の男の集計が得られます。 配列の入力は、式を入力した後に「Shift+Ctrl+Return」です。 表示は、 『{=SUM(IF(D2:D11="男",1)*IF(F2:F11>=6,1)*IF(F2:F11<=10,1))}』 になり {} が付きます。 式の配列は、書籍等でもあまり見かけないですが、覚えると集計が非常に楽なので若干説明します。 {=SUM( ............... 合計します  IF(D2:D7="男",1) ... D列が男だったら”1”  * .................. AND  IF(F2:F7>=6,1) ...... F列が6以上なら”1”  * .................. AND  IF(F2:F7<=10,1) .... F列が10以下なら”1” )} つまり、6~10才の男は 1*1*1=1 となり、それ以外は必ず"0"になります。 これを範囲内の各行で計算し、最後に合計(sum)します。 何が楽かといえば、条件式が素直な事と変更が簡単にできる事で、 例えば、『6~10才の男で名字(名前1)が田中』の集計なら、 {=SUM(IF(D2:D11="男",1)*IF(F2:F11>=6,1)*IF(F2:F11<=10,1)*if(B2:B11="田中",1))} になり、'*if(B2:B11="田中",1)'を追加するだけで集計ができます。 他の関数では、途中集計用の列が必要になったり、条件式が複雑になったりします。 色々やってみて下さい。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

#1です。 そういう配置であれば、例えば男で21~25(才)なら =SUMPRODUCT((D2:D1000="男")*(F2:F1000<=25)-(D2:D1000="男")*(F2:F1000<21)) で求められますね。

  • newbranch
  • ベストアンサー率30% (319/1053)
回答No.3

データベースのリストの人数を抽出したいセル(例) a1~a100 名前 B1~B100 男 C1~C100 女         B101=SUMIF(A1:C100,"男",B1:B100) C101=SUMIF(A1:C100," 女 ",C1:C100) 但し、B列には男、C列には女の表記が必要です。

  • pamsd
  • ベストアンサー率18% (39/209)
回答No.2

countifを組み合わせて使って集計すればいいですよ。 たとえば 20代の人の場合 countif(>=20才以上) - countif(>=30才以上) 20才以上の人数から 30才以上の人数を引けば 20代の人数が出ます。 実際のcountifの使い方は ヘルプを参照してください。

関連するQ&A

  • エクセルで年代別の人数をカウントしたい

    エクセルで年代別の人数をカウントしたい A1:年齢の項目でA2:A150まで年齢が入力されています。 20歳未満、20代、30代、40代、50代、60代、70代の年代別にカウントしたい どの様な関数で指定すれば良いのでしょうか?初歩的で申し訳ありません宜しくお願いします。

  • Excel 性別毎の年代別件数の求め方

    Excelで、性別毎の年代別件数を求めたいのですが、良い方法が見つかりません。 皆様のお力をお貸し下さい。 業務で、お客様の統計を採るよう命じられました。 A列に性別(女性or男性)、B列に年齢(18~99)が入力されています。 性別はCOUNTIF関数を使い、女性と男性の件数を出しました。 年齢はFREQUENCY関数を使い、年代(10代~90代)別に件数を出しました。 今度は、性別毎に年代別件数を求めるよう指示されたのですが 一日考えても良い方法が見つかりません。 どのようにすれば、性別毎の年代別件数を求めることが出来るのでしょうか? 利用月毎に複数のファイルに分かれており、集計用のファイルを作成し 全てのファイルの合計を集計するよう指示されています。 (利用月毎のファイルは12ヶ月分あります・・・) Sheet1に性別と年齢を入力し、Sheet2でCOUNTIF関数、FREQUENCY関数を組み集計しています。 良いお知恵がありましたら、どうぞ御教授下さい。

  • accessで年代別抽出方法

    いま、テーブルAに名前、年齢、性別フィールドがあります。 そこでフォームからコンボボックスで年代(”20”、”30”、”40”)と選んで抽出結果をだしたいと思っています。 そこで Between [forms]![テーブルA]![年代] And [forms]![テーブルA]![年代]+9 とやってみましたが年代が空欄の場合、その他の性別などだけでの抽出がされなくなってしまいました。 (空欄だと年齢の区間が?~9歳になるから抽出されなくなるだろうことは理解しています) 説明ベタとおもいますが、年代別での抽出方法のアドバイスをお願いします。

  • Excelでデータを抽出

    エクセルでデータベースを作成しました。 このデータベースから目的のものだけを別のシートに抽出したいです。 データベース A ID1 B ID2 C 内容 この内容が100行書かれているとします。 ある20個のIDの内容だけを別のシートに抽出したいのです。 ID1を昇順にならべるとID2は昇順にならないようなIDになっています。 なので、VLOOKUPがつかえません。 ID1から抽出したいもの20個を選んで、シート2へ選んだ内容のID1と内容を抽出 ID2から抽出したいものを20個選んで、シート3へ選んだ内容のID2と内容を抽出 どの様にしたら出来ますか? うまく説明できなくてすみません。 宜しくお願いします。

  • エクセル抽出について教えてください。

    エクセル抽出について教えてください。 はじめまして。 質問が重複しているかもしれませんが、急を要するのでご存知の方がいらっしゃいましたら、教えてください。 エクセルに数百件ほどの住所録があります。 そこから、会に参加しなかった方に発送物があり、リストアップしたいのです。 ※参加した方のリストは別シートに参加者リストとして作成しております。 1件1件参加者を検索してチェック(削除)していくにはかなり時間がもったいないので、 ぱっと抽出できる方法がないかと思っております。 手元にあるデータは単なるエクセル表なので、そのようなことができるのでしょうか・・・。 よろしくお願いいたします。

  • EXCEL 同シート内で抽出する方法を教えてください。

    EXCEL 同シート内で抽出する方法を教えてください。 現在、月日別に入力された大量のデータが、あります。 それを、同シート内に月別に抽出したいのです。 できれば、入力規制-リストで選択すると抽出するような形で ※イメージを添付しました お手数かけますが、よろしくお願いします。

  • エクセル:別ファイルからの抽出

    エクセル:別ファイルからの抽出 エクセルにて、 あるファイルに A  B    C No 月    氏名    1 2010/11  佐藤 2 2010/10  山田 3 2011/12  田中 4 2010/10  田中 ・ ・ とあり、それを別ファイルで 2010/10とセルに入力してやると、B列の2010/10だけ抽出して 一覧にしてくれるようにしたいと考えております。 関数またはVBAにて処理する方法はありますでしょうか? A  B    C No 月    氏名    2 2010/10  山田 4 2010/10  田中 ・ ・ ※別ファイルにおいては順番は関係ないので、Noがなくても よいです。 恐縮ですが、お答え願えれば有難いです。

  • エクセルで抽出(?)

    エクセルで名簿を管理しているのですが、メアドだけ、住所だけ抽出(リスト化)することは可能でしょうか? たとえば、「三の倍数行の二列目のセルを抽出(リスト化)」と言ったことです。 わかりにくいと思いますがどうぞお願いしますm(_ _)m

  • SQLでエクセルの表(または別テーブル)から文字列を抽出するには?

    はじめまして、こんにちは。困っているので教えてください。現在エクセルの表にさまざまなIDがあります。 それらを順番に抽出してきて、データベース内にあるIDと一致したらそのIDを一つの横の列に移して、1とかかれているセルを0にしたいのですが、そのようなことは可能なのでしょうか?もしエクセルのままで行うのが難しいのなら別のテーブルを作成しても大丈夫です。とても困っています、よろしくお願いします。

  • エクセルのオートフィルタで抽出できない!?

    1~19000ぐらいある会社名のリストで、○×商事 株式会社(商事と株式会社の間にスペース有り)を 抽出したい場合、オプションで『○×を含む』にした場合はちゃんと抽出されるのですが、 『○×商事 株式会社と等しい』とリストと一字一句間違わずに入力した場合は抽出されません。 何故でしょうか? 『○○を含む』でちゃんと抽出されるので別に困らないのですが、どうしてこういったことになるのか知りたいのです。

専門家に質問してみよう