dポイントプレゼントキャンペーン実施中!

社員勤続年数を以下のように求めました。

=DATEDIF(A1,TODAY(),"D")
「yy"年"mm"ヵ月"dd"日"」の表示にする。

すると、2年経過した社員など、『1年12ヶ月』と表示されてしまいます。
これを『2年』と表示する方法はないのでしょうか?

また、関数自体
=DATEDIF(A1,TODAY()+1,"D") の方が自然なんでしょうか?

ご教示ください。よろしくお願いします。

A 回答 (5件)

日付形式で扱えば、1年0月や2年0月0日は絶対に現れません。

カレン
ダーを見ましょう。0月や0日は存在しませんね。ついでにいうと、
そんなやり方では在籍2ヶ月と28日の翌日は3ヶ月と1日になります。
経過日数に日付形式の表示を流用してはいけません。

まず、「平均勤続年数」のベースになる個人別の「勤続年数」に月
数や日数が必要なのかを決めて下さい。必要なければ、単純に
=datedif(A1,today(),"y")でオッケーです。平均は7.8年などと出て
きます。

月数まで必要だというのなら、すべてを月数で計算しておき、頭の
固い上司に見せるときだけ12で割ることを考えます。個人別に
=datedif(A1,today()."M")で90ヶ月として、別にint(90/12)年とmod
(90,12)ヶ月とするんです。

日数まで必要だといわれたら、1ヶ月在籍と29日在籍でどっちが長い
か知ってますかと聞きましょう。
    • good
    • 0

#01です。


求めたいのは平均勤続年月数なのですね。これは各人の勤続年月数と分けて考える方がよいです。「平均日数」は日付ではありませんから日付関数で考えると深みにはまります

まず各人の勤続年月を表示する方法は既に述べました。
A1に入社日があるとき
 ="満"&DATEDIF(A1,TODAY(),"Y")&"年"&DATEDIF(A1,TODAY(),"YM")&"カ月"
で表示できます。入社日が2003/4/1なら「満5年0カ月」が表示されるはずです。

平均勤続年月数は各人の満日数を
 =DATEDIF(A1,TODAY(),"D")
で求めて、AVERAGE関数で平均を取った後(これを仮にC10セルとします)
 =INT(C10/365)"年"&INT(MOD(C10,365)/30)&"カ月"
で求められます。
(平均日数は「閏年」など考えても意味がないので単純に365日/年、30日/月で計算させても良いと思います)

もし平均勤続日数が2317日なら上記式の結果は「6年4カ月」になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
関数、奥深い。。。

お礼日時:2008/04/26 19:23

>『1年12ヶ月』と表示されてしまいます。


日付の表示形式を使う以上どうしようもありません。
作業用に1列使えるなら
B1=DATEDIF(A1,TODAY()+1,"M")
で月数を計算して
C1=TEXT(INT(B1/12),"年;;")&TEXT(MOD(INT(B1),12)),"ヶ月;;")
で年月表示
B列の月数で平均を計算して、C列の数式で表示すればOKです。

>=DATEDIF(A1,TODAY()+1,"D") の方が自然なんでしょうか?
入社当日を1日と数えるなら+1日ですね。もっとも
=TODAY()-A1+1
でも答えは同じですけどね。
    • good
    • 0

書式で対処しないで、関数で。



=DATEDIF(A1,TODAY(),"Y")&"年"& DATEDIF(A1,TODAY(),"YM")&"ヶ月"

当日をどのようにするかは、会社の規定が有るのでは

この回答への補足

ありがとうございます。
説明不足な点がありましたので補足します。

最終的に平均勤続年数を求めることが目的ですので、上記式ですと関数エラーになってしまうので、あえて使用しませんでした。

=DATEDIF(A1,TODAY(),"D")
にてシリアル値みたいなものを出し、アベレージを利用したかったのです。

当日をどうするかは規程など確認してみます。

補足日時:2008/04/25 12:41
    • good
    • 0

この場合の式は以下になります



 =DATEDIF(A1,TODAY(),"Y")

 =DATEDIF(A1,TODAY(),"YM")

 =DATEDIF(A1,TODAY(),"MD")

この式なら本日2008/4/25に対して入社日2006/4/25ならば
 2年0カ月0日
になります

この回答への補足

ありがとうございます。
NO.2の方に補足を記入しましたので、
ご覧いただけるとありがたいです。

補足日時:2008/04/25 12:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!