我有两列叫做
第 1 列日历日期:
16/02/2015
第二列 前一天:
Yes
我目前使用的配方:
if([calendar Date])=today-1,"YES","NO").
第二列根据第一列返回值。
但是,我遇到的问题是,当我们有日历日期(星期五)时,我在星期一运行数据。因此它显示“否”,因为公式仅返回前一天的数据。
所以我想要这样的东西只有当我在星期一跑步时它才应该给我if([日历日期])=今天-3,“是”,“否” 。和所有其他工作日if([日历日期])=今天-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
。
工作日返回日期使用开始日期和工作日数作为参数(因此跳过周末)。 在你的情况下,你应该将 [Calendar Date] 作为开始日期, 和工作日数设置为 1. 检查使用这些参数的 WORKDAY 结果是否等于今天的日期,并将单元格设置为“YES”。
此外,您还可以将假期日期传递给 WORKDAY 函数,以便将假期视为非工作日。
在单元格中输入如下内容:
=IF(WORKDAY([Calendar Date];1)=TODAY();"YES";"NO")