
こんにちは皆さんのいつも参考にさせて頂いております。
実際はデータリストは別シートですが下記の用にして男女別の平均年齢を計算したいと考えています。
DAVERAGEを使った方法、SUMを使った配列、COUNTIF・SUMPRODUCTを使った抽出などいくつ試しましたが、どうも上手くできませんでした。なにか良い方法があればご指導いただければ思います。
A B C D E F
1 名前 性別 年齢 平均年齢
2 山田 男 52 男 ○○歳
3 林 女 63 女 ○○歳
4 木村 男 66
5 佐藤 女 24
6 伊藤 女 33
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ANo.3です
sumif関数及びcountif関数ですが、計算では空白部分を無視しますので
空白のところは何も入れなくていいです
参照するフィールドが離れているということと、結果を書くシートが別
ということでしたので以下の式になります。
watawatasaさんの表ですと、
男性の場合
=TEXT(SUMIF(sheet2!B2:B6,"男",sheet2!C2:C6)/COUNTIF(sheet2!B2:B6,"男"),"0歳")
女性の場合
=TEXT(SUMIF(sheet2!B2:B6,"女",sheet2!C2:C6)/COUNTIF(sheet2!B2:B6,"女"),"0歳")
となります。
なお見やすくするため$は省いています。
性別フィールドと年齢フィールドのデータ数は一致させておいてください
でないと、平均が狂います。
結構大変でしょうけど、がんばってください。
K_moriさん おかげさまで無事に成功しました。
数値が異常に小さい原因は、ご指摘の通り性別フィールドが入力済みで年齢フィールドが未入力のレコードが沢山あったためでした。
対策として
=if(年齢フィールド="","",性別フィールド)
という集計用の列を一つ作ってそちらを性別の対象フィールドとしました。
丁寧かつ的確なアドバイスを頂き本当にありがとうございました。
No.3
- 回答日時:
こんにちは
男女別の平均年齢を出すには、sumif関数とcountif関数の複合で
出ます。
watawatasaさんの表で作成すると以下の式になります
男姓の平均年齢
=SUMIF($B$2:$C$6,"男",$C$2:$C$6)/COUNTIF($B$2:$B$6,"男")
女性の平均年齢
=SUMIF($B$2:$C$6,"女",$C$2:$C$6)/COUNTIF($B$2:$B$6,"女")
同じようにOO歳とつけたい場合は以下の式です
男性の場合
=TEXT(SUMIF($B$2:$C$6,"男",$C$2:$C$6)/COUNTIF($B$2:$B$6,"男"),"0歳")
女性の場合
=TEXT(SUMIF($B$2:$C$6,"女",$C$2:$C$6)/COUNTIF($B$2:$B$6,"女"),"0歳")
シートが別な場合は以下の式です
データが入っているシート名が"sheet2"の場合
男性の場合
=TEXT(SUMIF(sheet2!$B$2:$C$6,"男",sheet2!$C$2:$C$6)/COUNTIF(sheet2!$B$2:$B$6,"男"),"0歳")
女性の場合
=TEXT(SUMIF(sheet2!$B$2:$C$6,"女",sheet2!$C$2:$C$6)/COUNTIF(sheet2!$B$2:$B$6,"女"),"0歳")
これで出ると思います。
関数は難しいですが、使い慣れると便利です。
がんばってください。
この回答への補足
大変丁寧でわかりやすいご回答を頂きありがとうございました。
早速、実際の表で試して試して見たところ、予想以上に小さな数字が出てきてしまいました。私なりに原因を考えてみたのですが、
・まず、実際の表は例示よりも多くの項目があり、性別フィールド(?)と年齢フィールドが離れていること
・次に、元になる250件ほどあるリストが入力途中で1/4程度空白があることです。
せっかく、アドバイス頂いたのに良い報告ができず申し訳ありません。
もしかすると、条件書式や関数で空白に"未入力"とか入れたら良いのでしょうか?
度々の質問で恐れ入りますが、宜しくお願いします。
No.2
- 回答日時:
計算式を間違ってました
=SUMPRODUCT((B1:B6="男")*C1:C6)/COUNTIF(B1:B6,"男")
これが正解、C8とタイプミスしてました。
この回答への補足
早速のアドバイスを頂きありがとうございました。
実際の表で早速試してみた所、「$value!」のエラーが出てしまいました。私なりに次の原因を考えてみました。
・実際のリストは例示より項目が多く、年齢(c)と性別(au)が離れていること
・分析シートとリストシートを同時進行で作っているため、空白セルが1/4程度あること
なお、実際に入力は以下のように行いました(Excel 2000使用、読みやすくするために$は削除)
=SUMPRODUCT((一覧!C2:C9999="男")*一覧!aU2:AU9999)/COUNTIF(一覧!C2:C9999,"男")
なんかイージーミスかもしれませんが、お気づきの点がありましたら、アドバイス頂ければ幸いです。
n4330さん アドバイス頂きありがとうございました。
今回は、No3 k_moriさんの方法で行うことにさせて頂きました。
sumproduct関数は、今後に向けて何とか使いこなせるようになりたいと思っています。また、機会がありましたら宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows用アプリ作成方法
-
宮崎駿作品集15枚組を購入した...
-
マイナー保健証で、紙の時より...
-
ノートパソコンを落としてしま...
-
AI を おちょくる質問
-
soc、マイコン、ARM、組み込み...
-
GitHubの使い方が分からないの...
-
COBOLは1000年後にも使われてる...
-
LinuxではUTF8のBOMなし、UTF8...
-
チャタリングが起きるのはメカ...
-
スマホのUSBポートやタブレット...
-
coPilotにかけられた、制限(?...
-
世界中で、人気のある、1000万...
-
X線解析装置の出力、オートロッ...
-
パスワードをハッシュ値にして...
-
ハッシュ値はGitHubに書いてあ...
-
rsyncをインストールするとssh...
-
プログラミング言語やシェルを...
-
microSDカードと外付けSSDって...
-
youtubeで、意図しない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マイナー保健証で、紙の時より...
-
coPilotにかけられた、制限(?...
-
youtubeで、意図しない...
-
Windows用アプリ作成方法
-
soc、マイコン、ARM、組み込み...
-
世界中で、人気のある、1000万...
-
X線解析装置の出力、オートロッ...
-
宮崎駿作品集15枚組を購入した...
-
LinuxではUTF8のBOMなし、UTF8...
-
rsyncをインストールするとssh...
-
ハッシュ値はGitHubに書いてあ...
-
スマホのUSBポートやタブレット...
-
GitHubの使い方が分からないの...
-
microSDカードと外付けSSDって...
-
PCで、「リストナビゲーター」...
-
至急です。 電源入れたままSIM...
-
ノートパソコンを落としてしま...
-
AI を おちょくる質問
-
電線からインターネットに接続...
-
チャタリングが起きるのはメカ...
おすすめ情報