プロが教える店舗&オフィスのセキュリティ対策術

社員への有給付与日を管理する表をExcelで管理しようと考えています。

入社日を起点として6ヶ月を経過した日をExcelの式で計算することは可能ですか。


入社日
2014/04/01 → 2014/09/30
2014/04/22 → 2014/10/21
2014/10/15 → 2015/03/14

もし、可能なら式を教えて下さい。
宜しくお願いいたします。

A 回答 (4件)

こんにちは!



別案として・・・
A1セルからデータがあるとすると
B1セルに
=EDATE(A1,6)-1

でも大丈夫だと思います。m(_ _)m
    • good
    • 3
この回答へのお礼

回答ありがとうございます。

お礼日時:2014/02/10 23:00

残念ながら、まだ正解の回答は出ていないのではないかと考えております。

大の月・小の月を考慮する必要があると思います。

「暦による 6 か月を超えない最後の日」を算出する数式は、ちょっと難しいですが、添付図の E1 セルのとおりではいかがですか。C 列や D 列だと、答えを誤っている行(黄色いセルの行)がありますよね。

各数式は、次のとおりとなっています。

A列  2014/8/25 など
B1  6
C1  =edate(a1,b1)-1
D1  =date(year(a1),month(a1)+B1,day(a1)-1)
E1  =edate(a1,b1)-(day(a1)=day(edate(a1,b1)))

EDATE 関数は n か月後の日付を求めるわけですが、E1 の数式は、その n か月後の日の「年」、「月」、「日」のうち、「日」が元の日の「日」と同じである場合は 1 日を差し引き、そうでない場合は引かない、という計算をします。
「6ヶ月経過日を算出する式」の回答画像4
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2014/02/10 23:01

No2さんの補足として



EDATE関数を使います。
EDATE(値、月)で値の何か月後か、ってのをシリアル値で出します。
例えば
EDATE(2014/4/1,6)なら2014/10/1になります。
その前日を知りたいのでその数値から-1する
”EDATE(2014/4/1,6)-1”で2014/9/30となります。

なんでA行に入社日、B行にEDATE(A1.6)-1
で希望する計算日がでます。
    • good
    • 0

A1に「入社日」を入力して、計算したいセルに



=DATE(YEAR(A1),MONTH(A1)+6,DAY(A1))-1

の式を入力。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2014/02/10 23:00

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A