体验零代码搭建

WEEKDAY函数

网友投稿  ·  2023-11-27 15:11  ·  表单工具  ·  阅读 769


如果要知道指定的日期是星期几,那么可以使用WEEKDAY函数。

如果要知道指定的日期是星期几,那么可以使用WEEKDAY函数。

WEEKDAY函数

什么情况下使用WEEKDAY函数?

WEEKDAY函数返回代表一周中的第几天的数值,是一个1到7之间的整数,指出给定日期是星期几。它能够:

确定某天是星期几

确定某天之后的第一个星期几的日期

确定某个月第几个星期几的日期

确定某个月中星期几出现的次数

将代表星期几的数值转换成文字

WEEKDAY函数语法

WEEKDAY函数有2个参数,其语法如下:

WEEKDAY(serial_number,return_type)

serial_number: 代表日期的数字序列号,也可以用日期字符串表示。

return_type: 指定一周开始于星期日还是星期一,即数字与星期几的对应关系。若指定为1,则返回值为1至7,分别表示星期日至星期六,这是默认值;若指定为2,则返回值为1至7,分别表示星期一至星期日;若指定为3,则返回值为0至6,分别表示星期一至星期日。

WEEKDAY函数陷阱

WEEKDAY函数的Excel 2007版帮助指出,其返回一个1到7之间的整数。然而,当指定return_type为3时,函数返回的结果是一个0到6之间的整数,其中0表示星期一,1表示星期二,依此类推。当然,Excel 2010版进一步扩展了该函数,当指定return_type为11时,1表示星期一;为12时,1表示星期二;为13时,1表示星期三;为14时,1表示星期四;为15时,1表示星期五;为16时,1表示星期六;为17时,1表示星期日。

WEEKDAY返回的是代表星期几的数值,并不是具体的字符串。WEEKDAY函数的第一个参数应是真正的日期,不能是字符串。

示例1: 确定某天是星期几

要想知道2018年1月1日是星期几,使用公式:

=WEEKDAY(“2018-1-1”,2)

返回数值1,表明2018年1月1日是星期一。我们指定了WEEKDAY函数的第2个参数为2,这样该函数返回的结果为:1表示星期一,2表示星期二,…,依此类推。

示例2: 确定某天之后的第一个星期几的日期

如下图所示,在单元格C2中输入指定的日期,单元格C3中指定要求的星期几(这里,使用默认的1代表星期日,2代表星期一,依此类推),单元格C4中为指定日期之后星期几的日期。本例中为2017年10月8日之后第一个星期一的日期,公式为:

=C2+C3-WEEKDAY(C2)+(C3<WEEKDAY(C2))*7

示例3: 确定某个月第几个星期几的日期

如下图所示,在单元格C2中输入指定的日期,C4中指定星期几(这里,使用默认的1代表星期日,2代表星期一,依此类推),C5中指定这个星期几在该月中出现的次数。本例中,要求2017年8月第2个星期二的日期,公式为:

=C3+C4-WEEKDAY(C3)+(C5-(C4>=WEEKDAY(C3)))*7

示例4: 确定某个月中星期几出现的次数

如下图所示,单元格C2中输入年份,单元格C3中输入月份,单元格C4中输入代表星期几的数值(这里,使用默认的1代表星期日,2代表星期一,依此类推),单元格C5中返回星期几在该月中出现的次数。本例中,要求2017年3月中有几个星期三,输入数组公式:

=SUM((WEEKDAY(DATE(C2,C3,ROW(INDIRECT(“1:”& DAY(DATE(C2,C3+1,0))))))=C4)*1)

示例5: 将代表星期几的数值转换成文字

WEEKDAY函数返回的是代表指定日期是星期几的数值,如果要将这个数值转换成星期一、星期二、…等,可以使用公式:

=CHOOSE(WEEKDAY(TODAY()),”星期日“,”星期一“,”星期二“,”星期三“,”星期四“,”星期五“,”星期六“)

返回今天是星期几,例如,今天是2017年9月14日,则返回“星期四”。

也可以使用下面的公式得到同样的结果:

=INDEX({“星期日“,”星期一“,”星期二“,”星期三“,”星期四“,”星期五“,”星期六“},0,WEEKDAY(TODAY()))

当然,使用TEXT函数也可以得到同样的结果:

=TEXT(TODAY(),”dddd”)

如果想要单元格中仍是日期,但是要显示星期几,可以直接将该单元格格式自定义为“dddd”。


SMALL函数 << 上一篇
2023-11-27 15:11
COUNTIF函数
2023-11-27 15:11
下一篇 >>

相关推荐