OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

指定日付期間の算出の方法

  • 困ってます
  • 質問No.227363
  • 閲覧数397
  • ありがとう数2
  • 気になる数1
  • 回答数4
  • コメント数0

お礼率 54% (30/55)

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

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

  • 回答No.4
レベル14

ベストアンサー率 46% (1678/3631)

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

お礼率 54% (30/55)

shoyosiさんありがとうございます。
これで、安心して勤務期間が
計算できるようになりました。
これからも、よろしくお願いします。
投稿日時 - 2002-03-06 12:56:23
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル10

ベストアンサー率 61% (75/121)

たぶん以下のような式で求められていると思いますが、DATEDIF関数の仕様上 一ヶ月を満たない日数は"m"を使った場合"0"となります。 逆になってくれないと困ります。 ですから、勤務年数が1日でも1ヶ月としたいのであれば、素直に1を足すのが正解だと思います。 式:=DATEDIF(E6,F6,"y") & "年 ...続きを読む
たぶん以下のような式で求められていると思いますが、DATEDIF関数の仕様上
一ヶ月を満たない日数は"m"を使った場合"0"となります。
逆になってくれないと困ります。

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

式:=DATEDIF(E6,F6,"y") & "年" & MOD(DATEDIF(E6,F6,"m"),12) + 1 & "か月"
補足コメント
rikuka

お礼率 54% (30/55)

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

  • 回答No.2
レベル10

ベストアンサー率 61% (75/121)

>1を足して解決したほうがシンプルで良いのでしょうか? 実験してみました。 =DATEDIF("2002/2/15","2002/3/16","d") の結果は29 =DATEDIF("2002/2/15","2002/3/16","m") の結果は1 今年の2月は28 ...続きを読む
>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を足す方法がベストだと思います。
補足コメント
rikuka

お礼率 54% (30/55)

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

お礼率 54% (30/55)

sghさん、お世話になりました。
またこれからもよろしくお願いします。
投稿日時 - 2002-03-06 12:58:04
  • 回答No.3
レベル14

ベストアンサー率 46% (1678/3631)

 元の質問を見ますと4月1日に入社して6月30日退社の場合、何ヶ月在籍したかの問題で、単に6から4を引いて1をたす問題ではありません(6月29日のとき、3となる。正答は2)。この場合、退社日の翌日を計算し(退社日+1でもとめる)、その日と入社日のDATEDIF関数で月を求めるしかないと思います。日にちを計算する算数の植木算の要領です。 ...続きを読む
 元の質問を見ますと4月1日に入社して6月30日退社の場合、何ヶ月在籍したかの問題で、単に6から4を引いて1をたす問題ではありません(6月29日のとき、3となる。正答は2)。この場合、退社日の翌日を計算し(退社日+1でもとめる)、その日と入社日のDATEDIF関数で月を求めるしかないと思います。日にちを計算する算数の植木算の要領です。
補足コメント
rikuka

お礼率 54% (30/55)

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

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

植木算って、小学生低学年の計算だったのですね。
算数でこけている私って・・・(T-T)
投稿日時 - 2002-03-05 12:51:26
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ