休日プラグイン・横並びプラグイン・項目書式プラグインを利用したカレンダー生成
rex0220 横並びプラグイン 応用例2 年カレンダー #kintone - Qiita
で紹介されていたカレンダーを改変してみました。
休日プラグインで作成した休日設定テーブルと連動したカレンダーになります。
取引先に直接渡すため、弊社営業日を記載した簡易カレンダーを印刷(またはPDF配布)していましたが、毎年このカレンダーをExcelで作成するのが億劫になったため、横並びプラグインの応用例2が公開されたときに作成したものです。
今はこのカレンダーを印刷して手渡ししてます。
休日プラグインで日本の祝日を取得したテーブルを作成します。
rex0220 休日プラグイン #kintone - Qiita
横並びプラグインでカレンダーを作成します。
項目書式プラグインを用い、休日プラグインで作成した祝日のテーブルにある日付とカレンダーで一致した日付のみ色付けしているだけです。
(テーブルヘッダーや全体の雰囲気が違うのはCSSでカスタマイズしているためです)
カレンダー用の書式
フィールドコード名はQiitaのサンプルと違いますのでご注意下さい。
1月の日曜日
_01_Sun != “”
1月の月曜日
LET(
target, “1-” & _01_Mon,
dayType, FIRSTIF(DATE_FORMAT(date,“M-D”)=target, type),
IN(dayType, “休日”, “祝日”)
)
金曜日まではこれを応用しています。
カレンダーのテーブルフィールドの _01_Mon を各曜日に変えてます。
月が変われば、_01_Mon と “1-” を以外の月に変えるだけです。
あとはひたすら12月まで作成するだけです。
12月の金曜日なら
LET(
target, “12-” & _12_Fri,
dayType, FIRSTIF(DATE_FORMAT(date,“M-D”)=target, type),
IN(dayType, “休日”, “祝日”)
)
12月の土曜日
_12_Sat != “”
個人的感想
めちゃくちゃ処理が重いのでフリーズしたかと思うかもしれませんが、辛抱強く表示されるのを待ってください。
ブラウザによっては処理中に「ページが応答しないからもう処理辞める?」みたいなメッセージがブラウザから言われますけど、諦めず「待機」一択で待ち続けてください。
最後に、
もっといい方法あればぜひ教えて下さい。
多分あるような気がしますが計算式が浮かんできませんでした。
フォルトンとフェリスに聞けば分かるかもしれませんが・・・



