2023/09/04 16:12
15時以降の入力を翌日扱いにしたいです。
初めて投稿させていただきます。
もしご存知の方がいましたらご教示ください。
受注入力用のアプリに「受注日」という日付フィールドを設定しています。
締め時間の関係で、15時以降に入力したデータを翌日の受注日として反映させたいです。金曜日入力のものは、翌月曜日扱いとなるとなおうれしいです。
(例:9/4(月)16時入力⇒9/5(火)日付扱い,9/8(金)15時入力⇒9/11(月)日付扱い)
現在は手動で翌日の日付に変更していますが、変更忘れなどのミスが起きている状況です。
IF関数などを使ってみようとしたのですが、うまくいかなかったです。
対処方法がわかる方いらっしゃいませんでしょうか・・・
2件のコメント
(新着順)
ミュートしたユーザーの投稿です。
投稿を表示遅くなりましたが、興味があったのでIF文で作ってみました。
(条件)
土 → 受付日時の日付+2
日 → 受付日時の日付+1
平日15時まで 月火水木金 → 受付日時の日付そのまま
平日15時以降 月火水木 → 受付日時の日付+1
平日15時以降 金 → 受付日時の日付+3
「受付日時」(日時フィールド)
「曜日判定」(文字列1行フィールド、自動計算)
IF( ( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24) ) - 0) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24)) - 0) / 7 ) , 0) = 0 , "木",
IF( ( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24) ) - 1) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((日時+(60*60*9))/ 60 / 60 / 24)) - 1) / 7 ) , 0) = 0 , "金",
IF( ( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24) ) - 2) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24)) - 2) / 7 ) , 0) = 0 , "土",
IF( ( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24) ) - 3) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24)) - 3) / 7 ) , 0) = 0 , "日",
IF( ( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24) ) - 4) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24)) - 4) / 7 ) , 0) = 0 , "月",
IF( ( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24) ) - 5) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24)) - 5) / 7 ) , 0) = 0 , "火",
IF( ( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24) ) - 6) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((日時+(60 * 60 * 9))/ 60 / 60 / 24)) - 6) / 7 ) , 0) = 0 , "水","該当なし"
)
)
)
)
)
)
)
「時間取り出し」(計算フィールド、数値型)
DATE_FORMAT(日時, "H", "Asia/Tokyo")
「時間判定フラグ」(計算フィールド、数値型)
IF(時間取り出し<15,"0","1")
「加算日数」(計算フィールド、数値型)
IF(曜日判定="土",2,
IF(曜日判定="日",1,
IF(AND(時間判定フラグ=0,OR(曜日判定="月",曜日判定="火",曜日判定="水",曜日判定="木",曜日判定="金")),0,
IF(AND(時間判定フラグ=1,OR(曜日判定="月",曜日判定="火",曜日判定="水",曜日判定="木")),1,
IF(AND(時間判定フラグ=1,曜日判定="金"),3,99
)
)
)
)
)
「扱い日」(計算フィールド、日付型)
日時 + (60*60*24*加算日数) + (60*60*9)
何かご参考になれば幸いです。
ミュートしたユーザーの投稿です。
投稿を表示「受注日」という日付フィールドの他に「扱い日」的な別のフィールドを用意したらどうでしょうか?
私はrex0220の「計算式プラグイン」を使用しているので、プラグインに頼ってしまいますが、
入力時刻によって
15時までなら>扱い日にそのままの日付を反映
15時以降なら>扱い日に+1dayを反映
という様な感じです。
実現できれば週末の処理も出来そうですね。