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

2000年11月1日から2002年3月31日までの
勤務年数と月数を、エクセル2000で計算しようとしています。
DATEDIFを使って、計算をしてみたのですが
1年未満の月数が「4ヶ月」と計算結果がでてしまいます。
これを「5ヶ月」と表示されるように計算式を作りたいのです。
単純に、終了期間を2002年4月1日にしたり、+1と入力すれば
欲しい計算結果を得られるのですが、このほかの方法がないか知りたいのです。
どなたかいい計算式を教えていただけないでしょうか?

A 回答 (4件)

=DATEDIF(D2,E2+1,"ym")


D2=入社月日、E2=退職月日です
このような式で「一ヶ月以上、1年未満」を求めたら良いのでしょうか?>
 それでいいですよ。
当然、満年数を求める場合も
=DATEDIF(D2,E2+1,"Y")
 としなければなりません。
    • good
    • 0
この回答へのお礼

shoyosiさんありがとうございます。
これで、安心して勤務期間が
計算できるようになりました。
これからも、よろしくお願いします。

お礼日時:2002/03/06 12:56

 元の質問を見ますと4月1日に入社して6月30日退社の場合、何ヶ月在籍したかの問題で、単に6から4を引いて1をたす問題ではありません(6月29日のとき、3となる。

正答は2)。この場合、退社日の翌日を計算し(退社日+1でもとめる)、その日と入社日のDATEDIF関数で月を求めるしかないと思います。日にちを計算する算数の植木算の要領です。

この回答への補足

shoyosiさんありがとうございます。
=DATEDIF(D2,E2+1,"ym")

D2=入社月日、E2=退職月日です
このような式で「一ヶ月以上、1年未満」を求めたら良いのでしょうか?

植木算って、小学生低学年の計算だったのですね。
算数でこけている私って・・・(T-T)

補足日時:2002/03/05 12:51
    • good
    • 0

>1を足して解決したほうがシンプルで良いのでしょうか?



実験してみました。
=DATEDIF("2002/2/15","2002/3/16","d") の結果は29
=DATEDIF("2002/2/15","2002/3/16","m") の結果は1
今年の2月は28日まででした。
それを考慮の上期間が29日で、月数を1と表示しており、結構賢い関数です。
これを自作するのは、難しいと思います。
rikukaさんの場合、この結果を2としたいわけですよね?
であれば、1を足す方法がベストだと思います。

この回答への補足

sghさんありがとうございます。
閏年の条件もあったわけですね。
やはり、賢い方々が頭を絞って作った関数は、賢いですねぇ。
sghさんが作られた例題ですと、私が出したい結果と同じです。
「1ヶ月」で正しいです。
ということは、「YM」を使っていた事が間違いで
「M]を使えばいいのかもしれません。
ただ、そうなると勤務期間全部が「月数変換」されてしまいますね。
隣のセルに算出させている「Y]の年数×12を
引いてやればいいのかもしれません。

補足日時:2002/03/02 19:42
    • good
    • 0
この回答へのお礼

sghさん、お世話になりました。
またこれからもよろしくお願いします。

お礼日時:2002/03/06 12:58

たぶん以下のような式で求められていると思いますが、DATEDIF関数の仕様上


一ヶ月を満たない日数は"m"を使った場合"0"となります。
逆になってくれないと困ります。

ですから、勤務年数が1日でも1ヶ月としたいのであれば、素直に1を足すのが正解だと思います。

式:=DATEDIF(E6,F6,"y") & "年" & MOD(DATEDIF(E6,F6,"m"),12) + 1 & "か月"

この回答への補足

sghさん、お返事ありがとうございます。
DATEDIF関数の仕様上「指定期間の間の日数」を返すようなので、
どうしたらよいか困っていました。
会社の給与の規定で、1年未満の勤務月数が半年以上の場合、
1年繰り上げるという要件があり、
満年数(Y)を出す式と、1年未満の月数を出す(YM)式は
それぞれ別なセルに出していました。
しかし、就職年月日や退職年月日が月の途中の場合もあり、
自分の作った計算式が、計算要件を満たしているのか心配でした。
やはり、1を足して解決したほうがシンプルで良いのでしょうか?

補足日時:2002/03/01 18:33
    • good
    • 0

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