Excel WEEKDAY函数完全指南:从基础语法到高级实战应用
作者:本站 来源:本站
2026-05-13 08:21 1292阅读

在日常Excel数据处理中,我们经常需要与日期打交道:想知道某个日期是星期几?是否属于周末?如何快速统计某个月的工作日天数?
这些需求,Excel中的WEEKDAY函数都能轻松应对。本文将从最基础的语法入手,带你全面掌握WEEKDAY的用法,并深入挖掘它在实际工作中的高级应用场景。
一、 WEEKDAY函数的基本语法
WEEKDAY函数的核心功能是:返回指定日期对应的星期序号。
语法格式:
=WEEKDAY(日期序列号, [返回类型])
参数说明:
日期序列号(必填):要查询星期几的日期。可以是Excel能识别的日期格式(如"2023-10-1")、日期序列号或包含日期的单元格引用。
返回类型(可选):控制返回数字与星期几的对应关系。这是最容易忽略但至关重要的参数!
二、 关键难点:搞懂返回类型参数
如果直接输入=WEEKDAY("2023-10-1"),Excel默认返回1。但这往往不符合我们的日常习惯——2023年10月1日是周日,而我们通常把周一视为第一天。
返回类型参数正是为了解决这个问题,它决定了“一周从哪一天开始”以及“返回值的范围”。
以下是完整的返回类型对照表:
强烈建议:在职场使用时,务必养成加上,2的习惯!即使用=WEEKDAY(A1, 2),这样周一返回1,周日返回7,最符合我们的逻辑。
三、 基础用法示例
假设A1单元格的日期为2023年10月2日(周一):
=WEEKDAY(A1) 返回2 (默认周日为1,周一为2)
=WEEKDAY(A1, 2) 返回1 (周一为起始,周一为1)
=WEEKDAY(A1, 3) 返回0 (周一为起始,周一为0,周二为1...)
四、 进阶实战:WEEKDAY与其他函数的黄金组合
单独使用WEEKDAY只能得到一个数字,其真正威力在于与其他函数结合使用。
1. 结合CHOOSE/TEXT函数:将数字转换为中文星期
WEEKDAY返回数字,但报表中通常希望显示“星期一”而非“1”。
方法一:TEXT函数(最简便)
实际上,单纯转换中文星期,TEXT函数本身就能实现,不一定需要WEEKDAY:
=TEXT(A1, "aaaa") -> 返回"星期一"
=TEXT(A1, "aaa") -> 返回"一"
方法二:CHOOSE+WEEKDAY(更灵活)
如果需要自定义显示内容(比如将“周一”显示为“开工”),CHOOSE就派上用场了:
=CHOOSE(WEEKDAY(A1, 2), "开工", "周二", "周三", "周四", "周五", "周末", "周末")
解释:WEEKDAY返回1-7的数字,CHOOSE根据数字提取后面列表中对应位置的值。
2. 结合IF函数:判断是否为周末
这是考勤表、排班表中最常见的需求。
公式:
=IF(WEEKDAY(A1, 2) > 5, "周末", "工作日")
解释:当返回类型为2时,周六是6,周日是7,大于5即为周末。
或者使用OR函数写得更直白:
=IF(OR(WEEKDAY(A1, 2)=6, WEEKDAY(A1, 2)=7), "周末", "工作日")
3. 结合SUMPRODUCT函数:统计某月的周末天数
假设A2:A30是某个月的所有日期,如何快速算出这个月有多少个周末?
公式:
=SUMPRODUCT((WEEKDAY(A2:A30, 2)>5)*1)
解释:WEEKDAY(A2:A30, 2)>5 会返回一组TRUE/FALSE逻辑值,乘以1转换为1/0,最后SUMPRODUCT求和得到周末总数。
4. 结合条件格式:高亮显示周末数据
让表格中的周末行自动变红,数据一目了然。
操作步骤:
选中日期所在的数据区域(如A2:C20)。
点击“开始”->“条件格式”->“新建规则”->“使用公式确定要设置格式的单元格”。
输入公式:=WEEKDAY($A2, 2) > 5 (注意列绝对引用,行相对引用)
设置填充颜色为红色,确定即可。
五、 总结
WEEKDAY函数虽然只有两个参数,看似简单,但它是Excel日期处理体系中的基石之一。
核心记忆点:永远带上第二参数,2,让周一等于1,周日等于7。
核心应用场景:判断周末(搭配IF)、统计周末/工作日数量(搭配SUMPRODUCT)、自定义星期显示(搭配CHOOSE)、周末高亮(搭配条件格式)。
掌握了WEEKDAY函数,你就掌握了在Excel中按“周”维度分析数据的钥匙。赶快打开你的Excel,试试这些公式吧!
上一篇
下一篇
相关阅读