おさらい(2)
納期限の翌日から1か月を経過する日までの期間(特例基準割合)

1月後の日付を取得する

  • DateAdd("加算する時間間隔の文字列",数式,基となる日付)
  • Date()
    • DateAdd("m",1,Date())

「"m",1」=「1ヵ月後」を取得できる。

  ⇒これだとかなりダメな「1ヵ月後」になってしまう


納期限が末日かそうでないかの判定
  ⇒不要 必要(;´Д`)ていうか必須


来月末日の日付を取得する≪参考≫

  • DateSerial(年を表す数式,月を表す数式,日を表す数式)
  • Year(日付)
  • Month(日付)
  • Day(日付)
    • DateSerial(Year(日付),Month(日付)+2,0)
  1. DateSerial関数の引数「日を表す数式」に「2」を加算すると、再来月の意味になる。
  2. DateSerial関数の引数「日を表す数式」に「0」を設定すると、当月1日の前日の意味となり前月末日の日付を取り出すことができる。
  3. よって、「再来月1日の前日」=「来月の末日」を取得できる。


  ⇒で、答え!

納期限1ヵ月後: 
IIf(
  Day([納期限])>=25,
  DateSerial(Year([納期限]),Month([納期限])+2,0),
  DateSerial(Year([納期限]),Month([納期限])+1,Day([納期限]))
   )

  「Day([納期限])>=28」は間違い!!!

2006-06-26 - ウエスタンラリアット

追加(2)

12月の納期限後1ヵ月は、〜31日と翌年1月1日〜に区別する必要がある。
(特例基準割合が変化するため)

IIf(Month(Date([納期限]))=12,???,???)
 (-_-)考え中です。。。


追加(3)

2007年の納期限と2008年の納期限とを区別する必要がある。
(特例基準割合が変化するため)

IIf(Year(Date([納期限]))=2007,???,???)
 (-_-)考え中です。。。
  • 2007年
    • 〜11月
    • 12月
  • 2008年
  • 日数
    • 全体
      • 期限後1ヵ月
        • 11月まで 4.4%
        • 12月(年内分) 4.4%
        • 12月(翌年分) 4.7%
        • 翌年の1月から 4.7%
      • 全体−期限後1ヵ月 14.6%

追加(4)

#2008/05/24# - #2007/12/25#

シャープで囲むとは!


忘れてました・・・。