你们考勤机也太落后了吧,签退时间还这么乱,有的在签退列,有的又在签到列。升级打卡机才是硬道理。
再你的截图也和你们的打卡机一样,有残缺不全。图1既没有工号,也没姓名,更不用说左边的行号了。姑且假设A列为工号,B列为姓名吧。
比较简单的方法可分两步来实现:
第一步,补齐签退时间,如图,在G列的G2中输入公式:
G2=IF(E2>0,E2,IF((C3=C2)*(D3>0),D3,""))
双击填充柄或下拉,在G列补充完整签退时间。然后复制G列,在E列中粘贴数值。
第二步,用高级筛选法把E列有签到时间的数据筛选出来。
在右侧空列,如I列的I2(上面至少保留一个空格)中输入高级筛选条件:
=ISNUMBER(E2)
数据菜单——排序和筛选——高级,调出高级筛选对话框,列表区域(要筛选的数据区域)选择A1:F30(根据实际考勤表选择),条件区域选择I1:I2(一定要包括筛选公式及上面的一个空白单元格),选择筛选后目标区域第1个单元格,如K1,并可勾勾选“将筛选结果复制到其他位置”,确定后,立马得到筛选结果。
数据表
一、在G1输入12:00,表示当时间大于12:00点的时候,为签退时间,此时间可根据自己的情况进行更改
二、G2输入公式
G2=IF(E2<>"",E2,IF(D2>$G$1,D2,""))
把D列大于12:00的时间找出来为签退时间,此时,G列签退时间与D列签到时间不在一行。
请点击输入图片描述
三、解决G列签退时间与D列签到时间不在一行的问题,在H2输入公式
H2=IF(E2<>"",E2,IF(D3="","",IF(D3=G3,D3,IF((D3=G3)=FALSE,""))))
四、复制H2:H27,选择性粘贴到I列-----数值-----加
进行此步的原因是:用公式计算出来的H列数据中的空值(空的单元格)为假空,而不是真空,对我们后续进行的选择空值操作有影响,所以把假空变为真空。
这里说一下,将I列小数变为时间格式
选中I列,CTRL+1-----自定义----hh:mm
五、复制I2:I27粘贴到对应的E2:E27
选择D2:E7,F5---定位条件----空值
这样就看到所有空格都被选中了
在第一个空单元格进行:右键----删除----整行
得出结果
有没有具体一点的,看不懂
本回答被网友采纳全选E行,定位空值公式求值,判断包含单元格左下不为空且大于左边单元格,真,等于左下单元格,假为空
全选E行,复制,选择性粘贴数值复制在E行
全选E行定位空值删除行
不懂,有没有图片一步一步教学
请问问题解决了吗?