Excel数据透视表根据打卡时间计算是否迟到,需要注意格式

讲了根据打卡时间计算员工有没有迟到并计算迟到人数 , 但有位朋友提出问题:公式不对!为什么8点之前打卡 , 也是迟到?
查看他传过来的数据表 , 时间的格式是这样的!如下表:

Excel数据透视表根据打卡时间计算是否迟到,需要注意格式

文章插图
表面上看起来是仅仅是时间 , 但真实数字是日期+时间 , 只不过通过单元格格式设置为只显示时间 。
原来过:
日期在EXCEL里是整数 , 是距1900年1月1日的天数;
时间是小数 , 24小时是一天 , 所以24点是1 , 其他时间都是小数 。
在这个表中打卡时间是日期+时间 , 就不能直接和1/3(8点)比较 , 因为日期+时间肯定都大于1/3 , 直接套用昨天那篇文章中的公式就会出错 。
公式实现一、统计是否迟到
在C2单元格输入公式:
=IF(–TEXT(B2,”hh:mm:ss”)>1/3,”迟到”,””)
并往下填充 , 即可计算出每位员工是否迟到 。
如下图:
Excel数据透视表根据打卡时间计算是否迟到,需要注意格式

文章插图
TEXT(B2,”hh:mm:ss”):
将日期+时间的单元格值 , 通过TEXT函数只保留时间 , 精确到秒 。TEXT是文本函数 , 得到的时间是文本格式 。
–TEXT(B2,”hh:mm:ss”):
通过减负运算 , 将文本格式的时间转换为数值格式 。
IF(–TEXT(B2,”hh:mm:ss”)>1/3,”迟到”,””):
将数值格式的时间与1/3(8点)比较 , 如果大于1/3 , 即是晚于8点 , 为迟到 , 否则返回空值 。
二、直接利用打卡时间 , 统计迟到人数
在B17单元格输入公式:
=SUMPRODUCT(N(–TEXT(B2:B16,”HH:MM:SS”)>1/3))
即可直接依据打卡时间 , 统计出迟到总人数 。
如下图:
Excel数据透视表根据打卡时间计算是否迟到,需要注意格式

文章插图
【Excel数据透视表根据打卡时间计算是否迟到,需要注意格式】本公式中的TEXT与减负(–)运算参考上一部分是否迟到公式的解释;SUMPRODUCT的用法参考昨天的文章 。

    推荐阅读