kt祝日PreMap設定

祝日判定を高速化する為の『祝日プリマップ』を設定するサブルーチンです。
[kt関数Addin.xla]オープン時に既定で『今年の前後5年間(計11年間)』で設定
されています。

【 構 文 】

Call kt祝日PreMap設定 ( 基準年 )

基準年 ‥‥‥ Integer 型

【 パラメータ 内容 】

基準年 ‥‥‥ 西暦で『祝日プリマップ』を作成する基準年を指定します。
この基準年の前後5年間(計11年間)で作成されます。
 

【 解 説 】

  祝日判定(逆に言えば「この日は祝日ではない」という判定)処理は多くの条件判断
を必要とする為、結構時間の掛かる処理です。「ある1日」に対してだけ判定するなら
微々たるものですが、祝日判定を使って大量のデータに対して「日数計算」を行う場合
等では、非常に莫大な回数の実行となります(平均して1年程度の隔たりのある日数
計算を1000件のデータに対して行なうと ⇒ 365回×1000件≒36万回)。

  この祝日判定処理を高速化する為に、予め年間の祝日日付の位置をシリアル値を
基にしてマッピングしてあります(祝日プリマップ期間)。これにより、このマップ期間内
ならば「シリアル値の位置にフラグが立っているか?」という、たった1回の単純な判定
処理で済ます事が出来ます。祝日判定を繰り返す中で日付がマップ期間から外れた
場合は、自動的に通常の判定処理(個々の祝日との比較)に移行するようにしてあり
ますし、マップの作成は[kt関数Addin.xla]オープン時に『今年の前後5年間(計11年
間)』の期間で行なわれますので、ユーザー側では一切意識する必要はありません。

  しかしながら、これから処理しようとしているデータが「10年前〜今年」や「今年〜10年
後」というものだった場合には、マップ期間から外れるデータも多くあるので、あまり効果的
ではありません。このような場合は、臨時に祝日プリマップ期間をリセットしてからデータの
処理を行うと高速化できます(処理が終わったら、元に戻しておいて下さい)。

【 使 用 例 】

1990〜2000年のデータを処理する場合

    Call kt祝日PreMap設定( 1995 )
          :
    データ処理
          :
    Call kt祝日PreMap設定( Year(Date) )     ' [本日年]を基準年として元に戻す


Home  kt関数 Top  kt関数 Ref  Back Page  Next Page


角田 桂一 Mail:addinbox@h4.dion.ne.jp CopyRight(C) 2001 Allrights Reserved.