アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelで入社年月日と退社年月日を入力すると、
勤続年数が表示できるようにしたいのですが、
方法が分かりません。

DateDifという関数があると過去の質問を検索してみたらでてきましたが、どのように使ったらよいのかが分かりません。

入社年月日⇒14年4月1日
退社年月日⇒16年4月20日
勤続年数⇒2年1ヶ月
という具合に、一ヶ月未満の日数がある場合は1ヶ月に繰上げて表示したいです。

そして、休業期間がある場合は同様に休業期間を表示して、勤続年数からマイナスして結果的に
勤続年数-休業期間=在職期間
と表示できるようにしたいです。

ご存知のかた教えてください!よろしくお願いいたします。

A 回答 (2件)

入社年月日と退社年月日がA1,B1だとして、



=INT((DATEDIF(A1,B1,"m")+1)/12)&"年"
&MOD((DATEDIF(A1,B1,"m")+1),12)&"ヶ月"

#入社年月日⇒14年4月1日
#退社年月日⇒16年4月1日
#でも2年1ヶ月と表示します。
#
#退社年月日⇒16年3月31日
#なら2年0ヶ月と表示します。

もうひとつのほうは、
休業開始がC1,休業終了がD1として
=INT((DATEDIF(A1,B1,"m")-DATEDIF(C1,D1,"m"))/12)&"年"
&MOD((DATEDIF(A1,B1,"m")-DATEDIF(C1,D1,"m")),12)&"ヶ月"
かな?
こっちは、細かい条件が書いていないので、適当です。

この回答への補足

早速の解答ありがとうございます。勤続年数ばっちり表示できました。
ちなみに、この勤続年数を○年□ヶ月△日という具合に日数まで表示したい場合はどうしたらいいのでしょうか?
1日付けで入社した人が末日で退職すると日数の端数はないはずですが、
=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月"&DATEDIF(A1,B1,"MD")&"日"
でやってみると、日数があいません。

休業がある場合の計算は、
たとえばC1に勤続年数(2年0ヶ月10日)C2に休業期間(6ヶ月15日)があるとしたら、
C3に(1年6ヶ月5日)=1年7ヶ月と表示できるようにしたいのです。

教えていただいた方法でやってみましたが、うまくいきませんでした。

補足日時:2004/08/03 21:03
    • good
    • 0

○年□ヶ月△日


=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"ヶ月"
&DATEDIF(A1,B1,"MD")&"日"

ですが、
入社年月日⇒14年4月1日
退社年月日⇒14年4月30日
と書いた場合、DATEDIFの仕様として「初日不算入」です
ので、4/2~4/30にちまでを数えることになります。
→【0年0ヶ月29日】
と表示されるはずです。

=DATEDIF(A1,B1+1,"Y")&"年"&DATEDIF(A1,B1+1,"YM")&"ヶ月"
&DATEDIF(A1,B1+1,"MD")&"日"

で多少マシになるかもしれませんが、上記の式は
使わないほうがよいです。なぜなら、

DATEDIF(A1,B1,"MD")

DATEDIF(A1,B1,"YD")
には、うるう年に絡む不具合があり正しく計算されない
ことが知られていますので。

例えば、
A1に
1998/10/31
B1に
2000/03/01
と入力した場合など。

詳しくは角田さんのページの
http://www.h3.dion.ne.jp/~sakatsu/ktfunc_ref0206 …
をご覧いただき、【kt関数アドイン】導入することを
お勧めします。

参考URL:http://www.h3.dion.ne.jp/~sakatsu/index.htm
    • good
    • 0

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