首页 > 解决方案 > 设置条件来验证当月的第 20 天是否存在然后做某事,否则转到下一个工作日

问题描述

我已经制定了一个月的工作日,需要在这些日期旁边的列中显示有条件的数据,例如:

如果这一天是 20 号,即:Day(Cell) = 20,则在 20 号做这件事。

有些月份虽然没有 20 日,所以我希望条件评估 20 日是否存在,否则转到下一个工作日并在 20 日做它应该做的事情。

当前使用的公式是:

=IF(DAY(A16)=20;"do the thing on the 20th";"")

在快照中,2019 年 4 月没有该月的 20 日,因此 C 列中没有显示任何内容,我希望它在下一个工作日显示,即 4 月 22 日。

当前结果的快照,因为没有 20 存在

标签: if-statementexcel-formulaweekday

解决方案


要将 2019 年 4 月 20 日星期六转移到 2019 年 4 月 22 日星期一,减去一天并增加一个工作日。

=IF(A16=WORKDAY(DATE(YEAR(A16); MONTH(A16); 19); 1); "do the thing on the 20th"; "")

如果你不喜欢DATE(YEAR(A16); MONTH(A16); 19)日期构造,做EOMONTH(A16, -1)+19同样的事情;即A16 中月份和年份的第19 天。


推荐阅读