【发布时间】:2019-12-27 10:41:50
【问题描述】:
我正在尝试显示即将到来的第一个星期三的日期,以显示每周活动的开始时间。
如果是 2019 年 12 月 15 日星期日,那么它将在 2019 年 12 月 18 日星期三返回。
如果是 2019 年 12 月 16 日星期一,那么它将在 2019 年 12 月 18 日星期三返回。
如果是 2019 年 12 月 18 日星期三,那么它将在 2019 年 12 月 25 日星期三返回。
我试过这个功能:
=TODAY()+(7-(WEEKDAY(TODAY(),3)-2))
(为了测试,我将 TODAY() 替换为 A1,其中 A1 是自定义日期:=A1+(7-(WEEKDAY(A1,3)-2)))
但在周一和周二,它会返回下周的周三,而不是本周的。
所以我这样解决了:
=IF((WEEKDAY(TODAY(),3)-2)<0, TODAY()-(WEEKDAY(TODAY(),3)-2), TODAY()+(7-(WEEKDAY(TODAY(),3)-2)))
(测试函数:=IF((WEEKDAY(A1,3)-2)<0, A1-(WEEKDAY(A1,3)-2), A1+(7-(WEEKDAY(A1,3)-2))))
但这给我留下了一个大块的 IF 函数。
由于我试图将日期作为变量保留在更复杂的公式中使用,有没有办法在不使用复杂 IF 的情况下更轻松地调整第一个函数?
【问题讨论】:
标签: date if-statement google-sheets google-sheets-formula array-formulas