• ベストアンサー

勤続年数の平均を求めたい時の関数

エクセルで会社の従業員の勤続年数とその平均を求めたいです。 勤続年数のセルに =DATEDIF(A1,TODAY(),"y")&"年"&DATEDIF(A1,TODAY(),"ym")&"ケ月" といれて勤続年数を出してます。 それで次に従業員の勤続年数の平均を出したいのですが、AVERAGEを使うとエラー#DIV/0!が出ます。 どうすれば勤続年数とその平均が求められますか? どんな方法でも良いので教えて下さい!!非常に困ってます(ー_ー)!!

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

そりゃそうでしょう。計算対象が文字列扱いのデータなんですから、 エラーが出てアタリマエ、平均値が計算できワケがないです。 ですので、勤続年数の「数値」を持つセルを別に作る必要があります。 当然年/月のままじゃダメで勤続延べ何ヶ月という「月」の値にする 必要があります。ということで、上記のセルとは別に、 =DATEDIF(A1,TODAY(),"y")*12+DATEDIF(A1,TODAY(),"ym") こうすれば、勤続延べ何ヶ月の数字が出てきます。この式を含むセル についてAVARAGE関数で平均を取ってください。 で、出てくるのは勤続延べ何ヶ月ですから、こいつを12で割って「年」 余りを「月」にする必要があります。平均月が出たセルをB1として、 ="平均"&INT(B1/12)&"年"&(B1-INT(B1/12)*12)&"ケ月" こんな感じで表示できるはずです。 キモは「計算に使うセルと表示するセルを分ける」ということです。 計算に使うセルが表示上邪魔な場合は「書式」「列」「表示しない」 などで表示上隠す方法と、AA1~などの極端に離れたセルに記入して おく方法などがあります。

yuribros
質問者

お礼

ありがとうございました。参考になりました!!

その他の回答 (2)

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.3

AVERAGE関数は、数値しか扱わないので 範囲に数値がないと#DIV/0!が返ります。 平均勤続年数は、下記の数式で如何でしょう。 (入社年月日がA列に入力されているとします。) =DATEDIF(AVERAGE(A:A),TODAY(),"y")&"年"&DATEDIF(AVERAGE(A:A),TODAY(),"ym")&"ケ月"

yuribros
質問者

お礼

ありがとうございました。参考になりました!!

回答No.1

> AVERAGEを使うとエラー#DIV/0!が出ます。 どう設定したのですか? 数件でいいので例示を。普通そんなエラー出ません。

関連するQ&A