ここから本文です

エクセル2013で性別、年齢別の平均期間を算出したいのですが うまくいかず、悪戦...

mee********さん

2017/1/2523:12:53

エクセル2013で性別、年齢別の平均期間を算出したいのですが
うまくいかず、悪戦苦闘しています。

A~J迄は、既存の表で完成していますが
「K2セル」へ、「男、30歳代、2名」の平均期間を出したいのです。

勿論、本来の表は50名規模になっていますので
別のセルで「女」の平均算出もする予定です。
宜しくお願いします。

F2 FIND,K2セル,I2 TODAY,平均期間,B H2 D,エクセル,AVERAGEIFS

閲覧数:
71
回答数:
4
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

maronさん

2017/1/2606:45:02

J2=IF(I2=0,"",DATEDIF(SUMPRODUCT((B$2:B$10=G2)*(TRUNC(D$2:D$10,-1)=H2)*E$2:E$10)/I2,TODAY(),"Y")&"年"&DATEDIF(SUMPRODUCT((B$2:B$10=G2)*(TRUNC(D$2:D$10,-1)=H2)*E$2:E$10)/I2,TODAY(),"YM")&"ヶ月")
★下にコピー

J2=IF(I2=0,"",DATEDIF(SUMPRODUCT((B$2:B$10=G2)*...

質問した人からのコメント

2017/1/29 00:21:11

ありがとうございました。本当に役に立っています。

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

mit********さん

2017/1/2609:29:26

データが多くなれば難しい式を使いますとパソコンにも負担がかかります。
作業列を作って対応するのがよいでしょう。
例えばM2セルには次の式を入力して下方にドラッグコピーします。

=IF(F2="","",LEFT(F2,FIND("年",F2)-1)*12+LEFT(TRIM(MID(F2,FIND("年",F2)+1,4)),LEN(TRIM(MID(F2,FIND("年",F2)+1,4)))-2)*1)

その後にJ2セルには次の式を入力して下方にドラッグコピーすればよいでしょう。

=IFERROR(INT(AVERAGEIFS(M:M,B:B,H2,D:D,">="&I2,D:D,"<"&I2+10)/12)&"年"&MOD(AVERAGEIFS(M:M,B:B,H2,D:D,">="&I2,D:D,"<"&I2+10),12)&"ケ月","")

なお、作業列が目障りでしたらその列を選んで右クリックし「非表示」を選択すればよいでしょう。

mac********さん

2017/1/2600:08:31

F列の期間にはどのような数式または入力されているのでしょうか?

文字列で入力されている場合はAVERAGEIFS関数が使えませんので、配列数式を使用する必要がありますが、数式で入力されている場合はAVERAGEIFS関数が使えるかもしれませんので、補足情報をお願いします。

プロフィール画像

カテゴリマスター

2017/1/2523:54:02

あなたの表のF列にある期間は文字列ですから、平均のしようがありません。余計な文字を付加しない純粋な月数だけで期間を求め、それをaverageifs関数で条件を指定して平均しましょう。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる