勤続年数の平均値の求め方
こんにちは、エクセルについて教えてください。
ある会社での各社員の勤続年数の計算でA列に入社年月日、B列に本日の年月日があり、C列にAとBの期間(勤続年数)計算を
=DATEDIF(A30,B30,"Y")&"年" & DATEDIF(A30,B30,"YM") & "月"で
●年●月で表示させています。
さて、この各社員の勤続年数の平均を出すために通常のAvarage関数を使うと「ゼロで割りました」のメッセージが出て計算してくれません。勤務年数の平均を求める方法を教えてください。
回答(7件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
>=DATEDIF(A30,B30,"Y")&"年" & DATEDIF(A30,B30,"YM") & "月"
ですので、結果が文字列として表示されています(左寄せだと思います)
AVERSGE関数に利用しても計算の対象になりません。
せっかくの式ですが、計算に使用する事は諦めて、別途関数作った方が早いかも。
例えば、 =AVERAGE(DATEDIF(A2:A100,B2:B100,"D"))
範囲は合わせて入力して Ctrl+Shift+Enter で決定すると式が{]で囲まれて
配列関数として認識してくれます。
それぞれの行を日数で計算して平均をだすと云った感じです。
そのセルの書式、表示形式、ユーザー定義で y"年"m"月"と変更してください。
この回答へのお礼
早速の回答ありがとうございました。
文字列のままでは計算できないわけですね。
社員数が0ということは無いでしょう。
文字列、空白セルは除外される関数である。
だから
どんな式になっているか例を書いたらどうですか。エラーの質問で有りながら、式も書かない質問が結構あるが、どういう考えかな。
ーー
それにエクセルのバージョンも書いてない。
http://pc.nikkeibp.co.jp/article/NPC/20060713/24 …
などにあるように2007からAVERAGEIF 、AVERAGEIFS が新たにできて、便利に使えるかもしれないから。
No.4ベストアンサー20pt
過去ログです。
エクセルで平均年齢や平均勤続年数を求めるには?
http://oshiete1.goo.ne.jp/qa3213296.html
この回答へのお礼
ありがとうございました。なんとかなりそうです。
早速挑戦です。
>=DATEDIF(A30,B30,"Y")&"年" & DATEDIF(A30,B30,"YM") & "月"
は文字ですので、AVERAGE関数では求められません
数値で求めて下さい
参考までに
=AVERAGE(INDEX(DATEDIF(A30:A60,B30,"M"),))&"月"
あとはINT,MOD関数を利用してみて下さい
この回答へのお礼
文字列は計算できないわけですね。
MOD関数は初めてです。試してみます。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











