プロが教えるわが家の防犯対策術!

エクセルで社員管理で在籍年数を詳しく出したいのですが、

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

で年数を出していますが、何年何ヶ月まで出すにはどうすればいいのですか??
教えてください。

A 回答 (8件)

[A1]セルと現在の日にちを比較するとして、


下の式のようにしてはどうでしょうか?

[年数] = DATEDIF(A1, TODAY(), "Y") 
[月数] = DATEDIF(A1, TODAY(), "M") -( [年数] * 12 )
    • good
    • 0

=INT(DATEDIF(A5,B5,"m") /12)& "年" & MOD(DATEDIF(A5,B5,"m"),12)&"月"


A5に2000/11/5,B5に=today()としてテスト。C5に
2年0月となりました。
質問に沿えばB5は=today()となります。
    • good
    • 0

下記の方々との違いは、関数をなるべく同じものを使った方が、後任の方がエクセルの関数が苦手でも調べやすいかなぁと思ったんです。


なるべく1つのセルで完結するのであれば前述の皆さんの方が良いと思います。
    • good
    • 0

分けて書きます。


例えば f2 に 1998/12/25
f3 に 2002/12/24 が入っているとして

最初にf2 と f3 の期間を月として求めます。
f4 を =DATEDIF(F2,F3,"m")
とすると47となります。47ヶ月という意味
f4を年と月に分けます。
f5 年を求めるには =INT(f4/12) <---端数切り捨て
f6 残り月を求めるには =mod(f4/12) <---余りを求める
値が f5 が 3(年) f6が 11(月)になることを
確認してください。
もちろん上記を合わせて関数とすることも可能です。
    • good
    • 0

こんなのは如何でしょうか?



セルA1に入社年月を入力
入力値:1995/10(1995年10月に入社の場合)

セルB1で入社経過年数を計算
式:=INT(DATEDIF(A1,TODAY(),"M")/12)

セルC3で残りの入社経過月を計算
式:=DATEDIF(A1,TODAY(),"M")-(B1*12)

ソート(並び替え)する場合は、列B(経過年)を最優先キーにして、次に列C(経過月)をキーにすると良いと思います。

意図と違う様であれば、またご質問してください。
たぶんイイトコついてると思うんですが。
    • good
    • 0

#1です。

再びお邪魔します。
一つのセルに表示するなら
=DATEDIF(F2,TODAY(),"Y")&"年"&DATEDIF(F2,TODAY(),"YM")&"ヶ月"
とすると、10年3ヶ月という風に表示できます。
    • good
    • 0
この回答へのお礼

ありがとうございました.完璧でした。ペーストして使ってしまいました.(ペコリ)

お礼日時:2002/12/20 17:20

A1に入社年月日、B1に退社年月日とすると



=DATEDIF(DATE(YEAR(A1),MONTH(A1),1),(DATE(YEAR(B1),MONTH(B1)+1,1)),"y")&"年"&DATEDIF(DATE(YEAR(A1),MONTH(A1),1),(DATE(YEAR(B1),(MONTH(B1)+1),1)),"YM")&"ヶ月"

これで良いとおもいます
    • good
    • 0

何ヶ月と表示セルに


=DATEDIF(F2,TODAY(),"YM")としてください。
"Y"・・・年
"M"・・・月
"D"・・・日
"YM"・・・1年に満たない月数
"MD"・・・1月に満たない日数
"YD"・・・1年に満たない日数

単位の部分で指定が出来ます。
    • good
    • 0

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