kt固定休日EX

『固定休日コード』に『任意休日』『休日解除』一覧を付け加えて休日マップ
データを作成する関数です。「休日マップの作成」フォームで作成できる
休日マップを関数で定義できます。

『#VALUE!』

【 構 文 】

kt固定休日EX( 固定休日, 開始年, 年数, [任意休日], [休日解除] )

返却値 ‥‥‥ Variant (String ) 型
固定休日 ‥‥‥ String 型
開始年 ‥‥‥ Integer 型
年数 ‥‥‥ Integer 型
任意休日 ‥‥‥ Variant (Range/Date配列/Array関数) 型    (省略可)
休日解除 ‥‥‥ Variant (Range/Date配列/Array関数) 型    (省略可)

【 返 却 値 】

『固定休日コード』および『任意休日』『休日解除』の日付一覧で作成された
【休日マップ】データを返します。詳細はここをクリック。
パラメータ内容が不正な場合は[#VALUE!]が返ります。

【 パラメータ 内容 】

固定休日 ‥‥‥ 12文字の固定休日コードを指定します。第1〜第5曜日の組み合わせ指定も定義できます(下記解説参照)。
 
開始年 ‥‥‥ 西暦(4桁)で指定します(1901〜)
 
年数 ‥‥‥ 2・4・6・8・10・12 の何れかを指定します。
 
任意休日 ‥‥‥ 固定休日コードで定義できない『休日の日付一覧』をシリアル値 または 日付文字列で指定します(省略可)。
※ 新元号「令和」対応になっていない環境でも
    「令和 日付文字列(元年 表記を含む)」を指定可能です。

セル範囲(VBAではRange )またはDate型変数の配列/Array関数で指定します。

不正な値の日付は 無視します。

 
休日解除 ‥‥‥ 固定休日で一括定義した休日から除外して営業日に戻したい『日付の一覧』をシリアル値 または 日付文字列で指定します(省略可)。
※ 新元号「令和」対応になっていない環境でも
    「令和 日付文字列(元年 表記を含む)」を指定可能です。

セル範囲(VBAではRange )またはDate型変数の配列/Array関数で指定します。

不正な値の日付は 無視します。

 

任意休日/休日解除の日付一覧をワークシート上に用意する場合は
      ・一覧は複数列になっても構いません。
      ・日付は昇順に並んでいる必要はありません。
      ・そのセル範囲に「日付以外のデータ(空セル含む)」や開始年・年数で定義される期間から
        外れる日付が含まれていても構いません(そのセル範囲内から有効な日付データのみを
        取り出すようにしています)。
また、任意休日/休日解除の両方に『同じ日付』を指定した場合は、休日解除が有効となり、
その日は営業日となります。

【 解 説 】

  固定休日コードによる休日指定は簡便に利用できますが、曜日/祝日に拠らない
任意の休日もある為に、実際の営業カレンダーに対応できない場合が有り得ます。
逆に任意の休日でもカバーできる『休日マップ』には、任意休日に追加/変更が有った
場合、再び【休日マップ作成】ツールで作り直さなければならないという若干不便な
部分があります。

  この関数は、ワークシート上に固定休日コードで指定できない任意休日の一覧表
(祝日は当然不要です)を用意し、その範囲と固定休日コードを引数として『休日マップ
データ』を作成します。

  任意休日の指定方法の特徴として、
        複数列が可昇順の必要なし範囲内に空セルが有っても良い
という、かなり柔軟な条件にしています。したがって、予め大きめな範囲を指定しておく
事も可能です。これにより、関数記述はそのままでも、任意休日一覧に追加/変更する
都度、即座に変更が反映されるという利便性があります。

  kt固定休日EXの結果をセルまたは変数(VBA処理の場合)に格納し、kt営業日算出
などの引数:休日マップに、その内容を指定して利用します。

  :kt営業日算出などの引数に、直接[kt固定休日EX]を指定しないで
        ください。関数計算の都度、マップ生成が動いて、非常にレスポンス
        が悪くなります。あくまで、どこかのセルまたは変数に先ず格納して
        それから、その内容を利用するという運用を採ってください。




【 使 用 例 】



    Dim str休日Map As String
    str休日Map = kt固定休日EX(kt_土日祝, 2001, 4, Range("A5:D15"))
    If kt営業日判定(str休日Map, Date) Then
        MsgBox "今日は営業日です"
    Else
        MsgBox "今日は休業日です"
    End If

[kt_土日祝]は「kt関数Addin.xla」内で定義されている定数名です。
  ・休日なし "00000000000@" (kt_休日なし)
  ・土日を休日 "10000010000@" (kt_土日  )
  ・土日/祝日を休日 "10000011000@" (kt_土日祝 )
  ・日/祝日を休日 "10000001000@" (kt_日祝  )
  ・銀行休日 "10000011101@" (kt_銀行休日)
  ・官庁(日祝) "10000001111@" (kt_官庁1  )
  ・官庁(土日祝) "10000011111@" (kt_官庁2  )


 

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


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