这个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)。