こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel計算式を教えてください

添付の様な100人の元データSheet1(氏名、年齢、性別)から、Sheet2の30歳代~90歳代の年齢層別の男女の人数をExcelの計算式で求めたいのですが、残念ながら私の能力ではどんな式を使ったら良いのかわかりません。

識者の皆さん、教えてくださいませんか?

投稿日時 - 2016-06-03 19:31:35

QNo.9182285

すぐに回答ほしいです

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

Excel 2007 以降でしたら、「COUNTIFS」という複数条件の判定ができるカウント関数で、参考URLのように実行できます。

COUNTIFの複数条件 COUNTIFS関数【Excel・エクセル】
http://www.becoolusers.com/excel/countifs.html

投稿日時 - 2016-06-03 19:37:53

お礼

たくさんの回答者の皆様、ありがとうございました。
いろいろな方法がある中でtrytobeさんの回答が最もスーッと頭に入ったことや、何より一番目の回答だったことから、trytobeさんをベスト回答者にしますが、多くの方の回答者にはお礼申し上げます。

投稿日時 - 2016-06-06 08:25:20

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

ゴチャゴチャ解説なしで、
Sheet2!B3: =SUMPRODUCT((Sheet1!$B$2:$B$101>=$A3)*(Sheet1!$B$2:$B$101<$A3+10)*(Sheet1!$C$2:$C$101=B$2))
Sheet2!D2: =SUM(B3:C3)
Sheet2!B10: =SUM(B3:B9)

投稿日時 - 2016-06-04 14:29:20

ANo.5

4件の回答があるのに、FREQUENCY関数を使う回答は出ていないようだ。
配列数式を使うなどのことが敬遠されたかな。
統計では「頻度表を作る」に当たると思うが。この連想で遣ってみる。
Frequencyの意味=頻度。
例データ
B列が年齢数とする。
C,D列は質問者への説明や確認のため出したもの。
F列は区分を実際に指定する表部分(今回は10歳刻み)
A  B   C   D  E  F  G
氏名データソートXX代数Frequency数(F列)
a176111000代
a23419220210代
a3262130420代
a4752340230代
a5552450340代
a62426460550代
a7533470360代
a85934280270代
a9414190180代
a105243090代
a1186453
a123452
a132153
a141155
a155656
a1664595
a176262
a184364
a1945693
a206975
a2119762
a2223861
F2の式は
F2:F11を範囲指定しておいて(区分数+1の行数分)
=FREQUENCY($B$2:$B$23,$E$2:$E$10)
トイレてSHIFT+CTRL+ENTERを同時に押す。
配列数式。
E,F列の部分の見方
A  
B  X
AからBまでの頻度数はXに出る。
30才は
20
30  の30の行に含まれて出る。
これで都合の悪いときは29などの刻みにすべき場合あり。

投稿日時 - 2016-06-04 14:05:30

ANo.4

Sheet2!B3=COUNTIFS(Sheet1!$B$2:$B$101,">="&SUBSTITUTE($A3,"歳代",""),Sheet1!$B$2:$B$101,"<"&SUBSTITUTE($A3,"歳代","")+10,Sheet1!$C$2:$C$101,B$2)
Sheet1!B3セルを右と下へオートフィルコピーすれば良いでしょう。
但し、Excel 2007以降のバージョンであること。
Office 2003以前のバージョンはサポートが終了していますのでバージョンアップしてください。

投稿日時 - 2016-06-03 22:10:44

ANo.3

EXCEL2007以降のバージョンなら
B3=COUNTIFS(sheet1!$B$2:$B$101,">="&ROW(B3)*10,sheet1!$B$2:$B$101,"<"&ROW(B4)*10,sheet1!$C$2:$C$101,B$2)

EXCEL2007以前のバージョンなら
B3=SUMPRODUCT((sheet1!$B$2:$B$101>=&ROW(B3)*10)*(sheet1!$B$2:$B$101<ROW(B4)*10)*(sheet1!$C$2:$C$101=B$2))

投稿日時 - 2016-06-03 20:24:06

ANo.2

数え方はリンク先を参照してください。

いろいろな方法があります。
直接カウントする方法や
80歳代は、80歳以上の人数から90歳以上を引くという方法もあります。
つまりb9を80歳以上の人数から引いてください。
30歳代は-sum(b4:b9)とします。

参考URL:http://pc.nikkeibp.co.jp/pc21/tech/excel36/

投稿日時 - 2016-06-03 20:03:53

あなたにオススメの質問