欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

处理日期数据时如何根据打卡日期判断其是否为周末加班

程序员文章站 2022-03-14 15:12:14
在使用Excel处理日期数据时,经常需要判断某个日期是否为周末。如图 189‑1所示为某企业员工上下班打卡记录,如何根据打卡日期判断其是否为周末加班? 图18...

在使用Excel处理日期数据时,经常需要判断某个日期是否为周末。如图 189‑1所示为某企业员工上下班打卡记录,如何根据打卡日期判断其是否为周末加班?

处理日期数据时如何根据打卡日期判断其是否为周末加班
图189‑1打卡记录

解决方案1

使用MOD判断周末。

操作方法

选择E3:E10单元格区域,输入下列公式,按<Ctrl+Enter>组合键结束。

=IF(MOD(C3,7)<2,"周末","工作日")

原理分析

MOD函数判断星期几

1.根据一个星期7天周而复始的特性,将星期几判断问题视为数字循环问题,使用MOD函数将日期对7求余数。

2.根据Excel中1900日期系统的特性,数字1表示1900-1-1,按星期日计算(虽然实际应为星期六,但该日期系统错误地多了一个不存在的1900年2月29日,因此1900-3-1及此后的星期数判断恢复正常)。因此,将日期除以7求余数,余数为0则为星期六,余数为1,则为星期日,因此只需判断余数是否小于2,即可判断出日期是否为周末。

如果要用数字1~7表示星期一至星期日,可以使用以下公式:

=MOD(日期-2,7)+1

解决方案2

使用WEEKDAY判断周末。

操作方法

选择F3:F10单元格区域,输入下列2个公式之一,按<Ctrl+Enter>组合键结束。

=IF(OR(WEEKDAY(C3,2)={6,7}),"周末","工作日")

=IF(WEEKDAY(C3,2)>5,"周末","工作日")

原理分析

WEEKDAY函数判断星期几

本例设置WEEKDAY函数第2参数为2,返回C列日期的星期数字,其中6代表星期六、7代表星期日,因此只需判断WEEKDAY函数的返回值是否等于6或7或大于5,即可判断出对应日期是否为周末。

WEEKDAY函数用于返回某日期为星期几。默认情况下,其值为 1(星期天)到 7(星期六)之间的整数。语法如下:

WEEKDAY(serial_number,[return_type])

其中,第1参数serial_number为用于计算星期几的日期,第2参数return_type为用于确定返回值类型的数字,如表格 189‑1所示。

处理日期数据时如何根据打卡日期判断其是否为周末加班