エヌ・ドット・ジェーピー

  • line

kintone有効活用。日付を任意の日数シフトし、土日の場合アラートを表示する。

kintoneの日付を任意の日数シフトする。シフト先が土日の場合はアラートを出す。

前回、日付を任意の日数シフトする。自動計算をご紹介しました。
シフト後の曜日を考慮していないため、土曜日や日曜日でもそのまま表示してしまいます。
日付から曜日を計算する。と組み合わせてシフト先の日にちが土曜日・日曜日の場合はその旨表示するようにしてみましょう。

シフト先の日数の曜日を判定する。

曜日を判定する式を再確認しましょう。


if((rounddown(日付 / (60 * 60 * 24)) - (rounddown((日付 / (60 * 60 * 24)) / 7) * 7)) = 0,"木曜日",
if((rounddown(日付 / (60 * 60 * 24)) - (rounddown((日付 / (60 * 60 * 24)) / 7) * 7)) = 1,"金曜日",
if((rounddown(日付 / (60 * 60 * 24)) - (rounddown((日付 / (60 * 60 * 24)) / 7) * 7)) = 2,"土曜日",
if((rounddown(日付 / (60 * 60 * 24)) - (rounddown((日付 / (60 * 60 * 24)) / 7) * 7)) = 3,"日曜日",
if((rounddown(日付 / (60 * 60 * 24)) - (rounddown((日付 / (60 * 60 * 24)) / 7) * 7)) = 4,"月曜日",
if((rounddown(日付 / (60 * 60 * 24)) - (rounddown((日付 / (60 * 60 * 24)) / 7) * 7)) = 5,"火曜日", "水曜日")
)
)
)
)
)


直近の木曜日から何日ずれているかで該当日の曜日を判定します。このうち、土曜日の時と日曜日、つまり2日、3日ずれているときに処理を分岐させます。
ただしこのままだと、シフト先の曜日ではなく”日付”の曜日になってしまうので、シフトした日付で判定するよう式を修正します。


rounddown(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) - (rounddown(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) / 7) * 7)) = 2 /*土曜日
rounddown(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) - (rounddown(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) / 7) * 7)) = 3 /*日曜日


これで、シフト後の土曜日と日曜日が判定できるようになりました。

シフト後土日の場合はその旨表示する。

土曜日と日曜日の時に、処理を分岐し、それ以外の場合はそのまま日付をシフトします。


IF((ROUNDDOWN(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) - (ROUNDDOWN(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) / 7) * 7)) = 2),"土曜日です",
IF((ROUNDDOWN(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) - (ROUNDDOWN(((日付+(シフト日数*24*60*60)) / (60 * 60 * 24)) / 7) * 7)) = 3),"日曜日です",
DATE_FORMAT(日付+(シフト日数*24*60*60),"YYYY-MM-dd","system")
)
)


日付を任意の日数シフトする。のアプリをそのまま流用します。

平日の場合

土曜日の場合

シフト後、平日か土日かで表示が変わります。





ゴートップではkintoneを活用した業務の効率化のご相談を承っております。

現在の業務に課題を抱えている方は是非ゴートップにお問い合わせください。



詳しくは当社kintoneソリューションサービスのページをご覧ください。






さまざまな方や企業の多様なニーズにお応えする「エスコートン」サービスの提供を開始しました。
お悩みに合わせた3つのサービスメニューをご用意しました。

エスコートン

  • line

お問い合わせ

お気軽にお電話ください。

0120-98-0016