• ベストアンサー

6ヶ月経過日を算出する式

社員への有給付与日を管理する表をExcelで管理しようと考えています。 入社日を起点として6ヶ月を経過した日をExcelの式で計算することは可能ですか。 例 入社日 2014/04/01 → 2014/09/30 2014/04/22 → 2014/10/21 2014/10/15 → 2015/03/14 もし、可能なら式を教えて下さい。 宜しくお願いいたします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 別案として・・・ A1セルからデータがあるとすると B1セルに =EDATE(A1,6)-1 でも大丈夫だと思います。m(_ _)m

buck
質問者

お礼

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

その他の回答 (3)

回答No.4

残念ながら、まだ正解の回答は出ていないのではないかと考えております。大の月・小の月を考慮する必要があると思います。 「暦による 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 日を差し引き、そうでない場合は引かない、という計算をします。

buck
質問者

お礼

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

回答No.3

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 で希望する計算日がでます。

回答No.1

A1に「入社日」を入力して、計算したいセルに =DATE(YEAR(A1),MONTH(A1)+6,DAY(A1))-1 の式を入力。

buck
質問者

お礼

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

関連するQ&A