这个Excel公式 =TODAY()-WEEKDAY(TODAY(),2)+1
用于计算 当前周的周一日期。下面详细解释它的逻辑和用法:
公式解析
TODAY()
返回当前日期(例如今天是2023年12月20日,则
TODAY()
=2023/12/20
)。
WEEKDAY(TODAY(), 2)
计算当前日期是星期几,参数
2
表示周一=1、周二=2……周日=7。例如:如果
TODAY()
是周三(返回值=3),则WEEKDAY(TODAY(),2)
=3
。
TODAY() - WEEKDAY(TODAY(),2)
当前日期减去星期几的数字,会得到 上周日的日期(因为周三 - 3天 = 上周日)。
+1
从上周日再加1天,得到 本周一的日期。
示例
假设今天是 2023年12月20日(周三):
WEEKDAY("2023/12/20", 2)
→ 返回3
(周三)。"2023/12/20" - 3
→ 得到2023/12/17
(上周日)。2023/12/17 + 1
→ 最终结果2023/12/18
(本周一)。
应用场景
获取本周起始日期:用于制作周报、周计划表。
动态计算周范围:结合其他日期函数(如
+6
得到周日)。本周日公式:
=TODAY()-WEEKDAY(TODAY(),2)+7
其他变体
计算上周一:
=TODAY()-WEEKDAY(TODAY(),2)-6
计算下周一的日期:
=TODAY()-WEEKDAY(TODAY(),2)+8
注意事项
如果今天是周一,公式会返回当天日期(因为
WEEKDAY
返回1,TODAY()-1+1 = TODAY()
)。日期格式需设置为单元格的日期格式(右键单元格 → 设置格式 → 日期)。
如果需要固定某周的日期(而非依赖 TODAY()
),可以将 TODAY()
替换为具体日期(如 A1
)。