Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5198|回复: 4

[已解决]怎么用考勤机的excel数据生成考勤统计表

[复制链接]
发表于 2014-5-26 00:33 | 显示全部楼层 |阅读模式
本帖最后由 zylg_com 于 2014-5-26 00:54 编辑

现有2个表格
A是“考勤机”上的数据
考勤
号码
自定义
编号
姓名出勤时间出勤
状态
更正
状态
异常
情况
操作
2001于蓉2014-5-4 8:27上班
签到
加班
签到
自由
加班
2001于蓉2014-5-4 17:33上班
签到
加班
签退
自由
加班

B是要生成的“考勤统计表”
序号姓名部门
日期
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
星期
1于蓉财务
    中心
















现在想在B"考勤统计表"中根据A“考勤机”的【出勤时间】自动统计签到情况
每天早上9:00之前,每天下午17:30之后

在早上9:00之前签到的显示【是】
在早上9:01-11:00签到的显示【迟】
在下午15:30-17:29签到的显示【早】
在下午17:30之后签到的显示【否】
当天没有记录的显示【无】

表格中:姓名:于蓉 的员工在2014-5-4 8:27签到
在B"考勤统计表"中的上4就显示【是】

姓名:于蓉 的员工在2014-5-1到3日都没有记录
在B"考勤统计表"中的上1,上2,上3,下1,下2,下3就显示【无】

请问下这个效果要怎么实现
最佳答案
2014-5-26 08:58
本帖最后由 baksy 于 2014-5-27 02:05 编辑

考勤统计表的E6单元格和E7单元格各复制以下公式,
三键回车( 公式复制后,点一下公式编辑栏的任意位置,先按住 shift、ctrl 两个键,然后敲enter键。)
E6=IFERROR(IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24<=9),ROW($C$2:$C$61))),"是",IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24>9)*(MOD(考勤机!$D$2:$D$61,1)*24<11),ROW($C$2:$C$61))),"迟","无")),"")
E7=IFERROR(IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24>17.5),ROW($C$2:$C$61))),"否",IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24>=15.5)*(MOD(考勤机!$D$2:$D$61,1)*24<17.5),ROW($C$2:$C$61))),"早","无")),"")
E6、E7的公式右托,
复制E6、E7单元格往下粘贴、横拉,完成。

考勤统计公式.rar

5.67 KB, 下载次数: 60

发表于 2014-5-26 08:58 | 显示全部楼层    本楼为最佳答案   
本帖最后由 baksy 于 2014-5-27 02:05 编辑

考勤统计表的E6单元格和E7单元格各复制以下公式,
三键回车( 公式复制后,点一下公式编辑栏的任意位置,先按住 shift、ctrl 两个键,然后敲enter键。)
E6=IFERROR(IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24<=9),ROW($C$2:$C$61))),"是",IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24>9)*(MOD(考勤机!$D$2:$D$61,1)*24<11),ROW($C$2:$C$61))),"迟","无")),"")
E7=IFERROR(IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24>17.5),ROW($C$2:$C$61))),"否",IF(MIN(IF((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24>=15.5)*(MOD(考勤机!$D$2:$D$61,1)*24<17.5),ROW($C$2:$C$61))),"早","无")),"")
E6、E7的公式右托,
复制E6、E7单元格往下粘贴、横拉,完成。

考勤统计公式.rar

9.71 KB, 下载次数: 58

回复

使用道具 举报

 楼主| 发表于 2014-5-26 21:37 | 显示全部楼层
baksy 发表于 2014-5-26 08:58
考勤统计表的E6单元格和E7单元格各复制以下公式,
三键回车( 公式复制后,点一下公式编辑栏的任意位置,先按 ...

谢谢高手大哥的指导,我在学习这个公式的过程又遇到2个问题想请教,

现在只能正常获得【有】和【无】的结果
1、E6和E7中的条件【迟】【早】无法显示
在早上9:01-11:00签到的显示【迟】
在下午15:30-17:29签到的显示【早】
没有办法正常显示
是公式中什么地方还要调整么?
比如早上9:06的应该是【迟】但是显示的是【无】。

2、尝试删除公式中的一段后原来显示“无”的,显示为“0”
删除E6中的下面公式:
IF(SUMPRODUCT((考勤机!$C$2:$C$61=$B6)*(DAY(考勤机!$D$2:$D$61)=E$4)*(MOD(考勤机!$D$2:$D$61,1)*24>9)*(MOD($D$2:$D$61,1)*24<11))>0,"迟")

能正常获得结果但是原来显示“无”的,显示为“0”
想问一下 这个是为什么呢?
回复

使用道具 举报

 楼主| 发表于 2014-5-26 21:47 | 显示全部楼层
本帖最后由 zylg_com 于 2014-5-26 21:48 编辑

不好意思,回复重复了删除一个
回复

使用道具 举报

发表于 2014-5-27 02:08 | 显示全部楼层
zylg_com 发表于 2014-5-26 21:37
谢谢高手大哥的指导,我在学习这个公式的过程又遇到2个问题想请教,

现在只能正常获得【有】和【无】的 ...

2楼公式已更新。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 22:57 , Processed in 0.637957 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表