excel: 依據多欄條件重新定義數值

公式解釋

  1. D 為日期
    假設 D1 是日期列。
  2. O 為規則
    假設 O1 是規則列,可能包含關鍵字 “上班日” 或 “非上班日”。
  3. 條件 1:規則是“上班日”且日期是 2025/1/3
    AND(ISNUMBER(SEARCH("上班日", O1)), D1="2025/1/3")

    如果符合,出貨日期為 "2025/1/6"

  4. 條件 2:規則是“非上班日”且日期範圍在 2024/12/30 至 2025/1/3
    AND(ISNUMBER(SEARCH("非上班日", O1)), D1>=DATE(2024,12,30), D1<=DATE(2025,1,3))

    如果符合,出貨日期為 "2025/1/4"

  5. 條件 3:規則是“非上班日”且日期範圍在 2025/1/6 至 2025/1/8
    AND(ISNUMBER(SEARCH("非上班日", O1)), D1>=DATE(2025,1,6), D1<=DATE(2025,1,8))

    如果符合,出貨日期為 "2025/1/11"

  6. 其他情況:默認日期 +1 天
    如果都不符合,計算日期為 D1 + 1,並格式化成 yyyy/m/d

    TEXT(D1+1, "yyyy/m/d")

    使用方法

    1. C1 (想要呈現修正值的欄位) 中輸入公式。
    2. 向下拖曳公式應用到其他行。
    3. 確保列 D 的日期格式正確,且列 O 的內容包含關鍵字(如 “上班日” 或 “非上班日”)。
=IF(AND(ISNUMBER(SEARCH("上班日", O1)), D1="2025/1/3"), 
    "2025/1/6", 
    IF(AND(ISNUMBER(SEARCH("非上班日", O1)), D1>=DATE(2024,12,30), D1=DATE(2025,1,6), D1<=DATE(2025,1,8)), 
            "2025/1/11", 
            TEXT(D1+1, "yyyy/m/d")
        )
    )
)