• ベストアンサー

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

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

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

  • ベストアンサー
  • trytobe
  • ベストアンサー率36% (3457/9591)
回答No.1

Excel 2007 以降でしたら、「COUNTIFS」という複数条件の判定ができるカウント関数で、参考URLのように実行できます。 COUNTIFの複数条件 COUNTIFS関数【Excel・エクセル】 http://www.becoolusers.com/excel/countifs.html

morinosatou
質問者

お礼

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

その他の回答 (5)

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.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)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

4件の回答があるのに、FREQUENCY関数を使う回答は出ていないようだ。 配列数式を使うなどのことが敬遠されたかな。 統計では「頻度表を作る」に当たると思うが。この連想で遣ってみる。 Frequencyの意味=頻度。 例データ B列が年齢数とする。 C,D列は質問者への説明や確認のため出したもの。 F列は区分を実際に指定する表部分(今回は10歳刻み) A  B   C   D  E  F  G 氏名 データ ソート XX代数 Frequency数 (F列) a1 76 11 10 0 0代 a2 34 19 2 20 2 10代 a3 26 21 30 4 20代 a4 75 23 40 2 30代 a5 55 24 50 3 40代 a6 24 26 4 60 5 50代 a7 53 34 70 3 60代 a8 59 34 2 80 2 70代 a9 41 41 90 1 80代 a10 52 43 0 90代 a11 86 45 3 a12 34 52 a13 21 53 a14 11 55 a15 56 56 a16 64 59 5 a17 62 62 a18 43 64 a19 45 69 3 a20 69 75 a21 19 76 2 a22 23 86 1 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などの刻みにすべき場合あり。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.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以前のバージョンはサポートが終了していますのでバージョンアップしてください。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.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))

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.2

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

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

関連するQ&A