過去の桐井戸端BBS (桐ver.9) |
29520 | 3年後の同日の前日を求めたい | katsuyoshi | 2005/03/29-17:06 |
久しぶりにお世話になります。 項目1 契約始期日(日時型) 項目2 契約終期日(日時型) 項目2の項目計算式 #月数加算([項目1],36,1) としましたが3年後の同日が値となります。 契約期間ですから3年後の同日の前日を求めたいのですが 計算式を教えて下さい。 よろしくお願いします。 | |||
29521 | Re:日付の計算について | 安斎 | 2005/03/29-19:21 |
記事番号29520へのコメント こんにちは 項目2の計算式を #日数加算(#月数加算([項目1],36,1),-1) と単純に考えてしまいましたが……‥ 閏年の時は、次のようになります。 項目1が閏年(2004年2月29日)の時、36月後 2007年2月28日となり その1日前 2007年2月27日となってしまいます。 項目1が 2005年3月1日の時36月後 2008年3月1日となり その1日前 2008年2月29日となります。 はずしていたら、スミマセン。 | |||
29523 | Re:日付の計算について | 佐田 守弘 | 2005/03/29-21:51 |
記事番号29521へのコメント katsuyoshiさん 基本的には安斎さんが#29521で書かれている考え方だろうと思います。 ●閏年の場合 これは基本的にどちらで考えるのが正しいのでしょうね。 2月29日起算の3年後の同日を2月28日と見るか、3月1日と見るかです。 質問では3年後なので関係ないかと思いますが、一般的に言えば、同じ事が大の月と小の月でも起きます。 つまり、3か月後の同じ日の前日といったケースです。 たとえば8月31日起算の3か月後は、11月30日になるわけで、この前日とするのかどうかです。 「#月数加算」関数の2番目のパラメータに2を指定すれば、指定日がない場合、翌月の1日が戻ります。つまり、 #日数加算(#月数加算([項目1],36,2),-1) とします。2004年2月29日起算の3年後は、2007年3月1日となり、その前日が2007年2月28日になります。 ●それ以外の方法として もし2月29日だけを避けるのであれば、次の様な計算式もできるでしょう。 #条件選択(#月([項目1])=2 .and #日([項目1])=29 ,#年数加算([項目1],3) .1 ,#日数加算(#年数加算([項目1],3),-1) ) 36か月後ではなくて3年後らしいので、「#年数加算」を使ってみました。 佐田守弘(KS-00119) | |||
29527 | Re:日付の計算について | katsuyoshi | 2005/03/30-16:37 |
記事番号29523へのコメント 安斎さん、佐田さんありがとうございました。 基本的には閏年に契約は結ばないようにしようと思っています。 実際の担当者と相談してから進めたいと思います。 またよろしくお願いします。 |