ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: LINGLING51320

[求助] 十万火急!用函数或者透视表处理打卡数据

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-7-31 18:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

考勤打卡的数据处理方法!每月节省6~15个工作日

非常感谢二位,!以后只要打印出来做一下简单统计就可以了,但是我得把方法学会.这样算,以我们公司100多人,人工检索需要6个工作日(那文员喜欢一边玩,一边做事)弄成这样后,一个上午因该可以出结果了.不过老板是不会给我奖金的,所以,我只能对二位表示衷心的感谢了.
  我上班前试着拖了下!果然如我所期!

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-7-31 19:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 10楼 hwmj8301 的帖子

有几个问题请教:
1 ,打卡时间原来没有"班次",那各是不是用IF函数,还是什么函数判断出来的?
2对迟到早退的背景色显示,是不是用条件格式?

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-2 22:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

提出重复打卡的函数公式

各位大师还是给我个提出重复打卡的函数公式吧;

   8:00         12:00                  1:30          5:30  前后 5分内,总计10分钟内出现两次打卡的情况,上班取后一次,下班取前一次的数值   另外一次的数值删除   ,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-3 18:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谁能帮忙编个条件判断公式,多谢谢了!

对打卡时间A列时间值作出判断:

    如果"A" 大于7点小于10点,                 判断为:上午上班;
   
  如果"A" 大于10点,小于12:30              判断为:上午下班

  如果"A" 大于12:30小于15:00             判断为:下午上班

  如果"A" 大于15:00小于18:00             判断为:下午下班

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-3 20:42 | 显示全部楼层

条件判断公式

虽然没有掌声和鲜花,没有佳肴和美女,但我还是狠狠的进了一大步。
我终于还是通过自己的努力把那个函数公式弄出来了

=IF(G2<=TIME(10,0,0),"上午上班",IF(G2<=TIME(12,30,0),"上午下班",IF(G2<=TIME(15,30,0),"下午上班","下午下班")))

TA的精华主题

TA的得分主题

发表于 2011-8-3 21:01 | 显示全部楼层
恭喜lz啃下一块硬骨头
关于数据透视和函数我也都是一知半解
尤其if的逻辑 总是绕不来 看到就晕
于是我来学习下lz的逻辑 哈哈哈~

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-3 22:00 | 显示全部楼层

还是得大家的帮忙

谢谢你,主要还是得大家的帮忙,
我是跟着感觉输进去,至于括号的多少,表格会检查出错误并给出修正方案的.
不过后来我还是发现,用透视表做,在大小值取舍那个环节还是必不可少的会丢失掉真实数据的,这个在考勤管理中会引起员工投诉.,只能规范员工行为按规则打卡了......

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-8-7 00:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 7楼 hwmj8301 的帖子

=--TEXT(CHOOSE(MATCH(G5,--{"0:00","10:00","12:30","15:30"}),MAX(G5,--"8:00"),MIN(G5,--"12:00"),MAX(G5,--"13:30"),MIN(G5,--"17:30")),"h:mm")

你好,能帮忙讲解下这个公式吗?我初步的理解是 MACH 层:  "察看G5 是属于第几个时间段"?,时间段分为      0-------10点---------12:30-------------15:30-----------24:00  四个段;返回值是这个段的序号.
MAX(G5,--"8:00"), 的意思,  如果G5的时间值是在8点前,无论有几次记录,都记录为8:00.
如果如果G5的时间值是在8~12:00之间,,无论有几次记录,都取最小的值..........那跟前面那大括号里面的时间划分有什么关联呢???

是这样理解吗?我懂没个层的准确含义,还有弄不清楚,各层之间逻辑,先执行哪层,后执行哪层?

[ 本帖最后由 LINGLING51320 于 2011-8-7 00:19 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-8-7 13:53 | 显示全部楼层
你的理解 我觉得应该是没错的

其实我也是跟着lz的帖子在学习
而且和你一样 嵌套一多就容易犯晕
最好的办法就是激活函数,在编辑栏跟着提示走
如果撇去所有的参数 仅看所使用到的函数
脱水一下 得到如下公式表达
text(choose(match(),max(),min(),...),","h:mm"")

这样就能看出来 作为choose的参数
match、max、min应该都是处于同一计算层的
choose是作为text的参数处于第二步
最后一步就是text了

另外 按我现在知道的
通常公式都是用小括号作为结束的
大括号的话 应该是表示数组吧

至于究竟是不是 以及整个嵌套的解释
最好跟给出公式的朋友确认下

[ 本帖最后由 hwmj8301 于 2011-8-7 13:55 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-8-8 18:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 LINGLING51320 于 2011-8-7 00:08 发表
=--TEXT(CHOOSE(MATCH(G5,--{"0:00","10:00","12:30","15:30"}),MAX(G5,--"8:00"),MIN(G5,--"12:00"),MAX(G5,--"13:30"),MIN(G5,--"17:30")),"h:mm")

你好,能帮忙讲解下这个公式吗?我初步的理解是 MACH 层:  "察看 ...

这个公式应这样理解吧!
MATCH(G5,--{"0:00","10:00","12:30","15:30"}),利用match模糊查找G5在,--{"0:00","10:00","12:30","15:30"})时间段的行号,例如大于0.00小于10:00就是1,大于10:00少于12:30就是2依此规律取行号
choose第一参数如果是1就等于MAX(G5,--"8:00"),如果第二参数为2结果为MIN(G5,--"12:00")如果3就是第三个,依次而算.
MAX(G5,--"8:00")如果是g5大于8:00取G5值,如果小于则取8:00.min和这个一个意思了.
text更改choose的结果格式
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-8 02:02 , Processed in 0.024047 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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