我有兩列稱為
第一欄日曆日期:
16/02/2015
前一天第二欄:
Yes
我目前使用的公式:
if([calendar Date])=today-1,"YES","NO").
第二列傳回基於第一列的值。
然而,我遇到的問題是當我在星期一運行數據時,我們有日曆日期(星期五)。因此它顯示“否”,因為公式僅返回前一天的資料。
所以我想要這樣的東西只有當我在星期一跑步時它應該給我if([calendar Date])=today-3,"YES","NO").And all other workdays if([calendar Date] )=today -1,“是”,“否”)
你能幫我解決這個問題嗎?
答案1
您想要強迫將星期五和星期六解釋為星期日(星期一的前一天)。
=IF(
IF(WEEKDAY(A2) = 6, <-- Friday
A2 + 2, <-- Becomes Sunday
IF(WEEKDAY(A2) = 7, <-- Saturday
A2 + 1, <-- Becomes Sunday
A2 <-- Unadjusted
)
) = TODAY() - 1,
"YES",
"NO"
)
如果您在星期六閱讀報告,則公式將不起作用 - 因為就公式而言,星期六有 0 個昨天和 2 個明天。
未註釋:
=IF( IF(WEEKDAY(A2)= 6, A2 + 2, IF(WEEKDAY(A2) = 7, A2 + 1, A2)) = TODAY() - 1, "YES", "NO")
答案2
使用工作日函數為if
.
工作日使用返回日期開始日期和工作天數作為參數(因此跳過週末)。在您的情況下,您應該將[日曆日期]作為開始日期, 和工作天數設定為 1。
此外,您可以將假期日期傳遞給 WORKDAY 函數,將假期也視為非工作日。
將類似這樣的內容放入儲存格中:
=IF(WORKDAY([Calendar Date];1)=TODAY();"YES";"NO")