Excel精英培训网

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

[已解决]高手帮修改下全勤公式。拜谢!没问题给最佳!呵呵

[复制链接]
发表于 2014-1-14 20:25 | 显示全部楼层 |阅读模式
本帖最后由 奋斗的小皮孩 于 2014-1-14 20:28 编辑

职称为小时工的可以不限次数请假,只要工作满40小时视为全勤。现在的问题小时工只要出现请假就判断为非全勤。高手请帮修改这一点。其他的条件都是正常判断的。

具体详见附件。附件在2楼
最佳答案
2014-1-14 22:48
本帖最后由 tgydslr 于 2014-1-14 22:51 编辑

再简化合并,数组公式,三键结束
  1. =IF(ISBLANK(C5),"",IF(D5="小时工",IF(SUM($E5:$AI5)>=40,"全勤",""),IF((SUM(COUNTIF(E5:AI5,{"旷","早退","旷半"})*ROW(1:3)^0)=0)*(AL5<=15)*IF(D5="兼职",((COUNTIF($E5:$AI5,"请")+SUM(COUNTIF(E5:AI5,{"请半","忘请半","迟请半"})/2*ROW(1:3)^0)<=2)*(SUM(COUNTIF($E5:$AI5,{"√","忘","忘迟","迟","忘2","迟2","请"})*ROW(1:7)^0)+SUM(COUNTIF(E5:AI5,{"请半","忘请半","迟请半"})/2*ROW(1:3)^0)>=$C$2-2)),SUM(COUNTIF(E5:AI5,{"请","请半","忘请半","迟请半"})*ROW(1:4)^0)=0),"全勤","")))
复制代码
附件见也随着更新
 楼主| 发表于 2014-1-14 20:28 | 显示全部楼层
职称为小时工的可以不限次数请假,只要工作满40小时视为全勤。现在的问题小时工只要出现请假就判断为非全勤。高手请帮修改这一点。其他的条件都是正常判断的。

修改全勤公式.rar

11.52 KB, 下载次数: 20

回复

使用道具 举报

发表于 2014-1-14 21:28 | 显示全部楼层
把非小时工的全勤条件晒一下,看着你的表格眼晕啊
回复

使用道具 举报

发表于 2014-1-14 21:30 | 显示全部楼层
本帖最后由 不信这样还重名 于 2014-1-14 21:33 编辑

=IF(ISBLANK(C5),"",IF((COUNTIF($E5:$AI5,"旷")+COUNTIF($E5:$AI5,"早退")+COUNTIF($E5:$AI5,"旷半")=0)*(AL5<=15)*IF(D5="小时工",SUM(E5:AI5)>=40,TRUE)*IF(D5="兼职",((COUNTIF($E5:$AI5,"请")+COUNTIF($E5:$AI5,"请半")/2+COUNTIF($E5:$AI5,"忘请半")/2+COUNTIF($E5:$AI5,"迟请半")/2)<=2)*((COUNTIF($E5:$AI5,"√")+COUNTIF($E5:$AI5,"忘")+COUNTIF($E5:$AI5,"忘迟")+COUNTIF($E5:$AI5,"迟")+COUNTIF($E5:$AI5,"忘2")+COUNTIF($E5:$AI5,"迟2")*COUNTIF($E5:$AI5,"请")+COUNTIF($E5:$AI5,"请半")/2+COUNTIF($E5:$AI5,"忘请半")/2+COUNTIF($E5:$AI5,"迟请半")/2)>=($C$2-2)),(COUNTIF($E5:$AI5,"请")+COUNTIF($E5:$AI5,"请半")+COUNTIF($E5:$AI5,"忘请半")+COUNTIF($E5:$AI5,"迟请半")=0)),"全勤",IF((D5="小时工")*(SUM(E5:AI5))>=40,"全勤","")))
回复

使用道具 举报

发表于 2014-1-14 21:36 | 显示全部楼层
楼主即既说别的条件都正常,那我就只改最后一个条件为否时的参数,即把以前的“”,多嵌套了一个判断IF((D5="小时工")*(SUM(E5:AI5))>=40,"全勤",""),测试了一下,好像可以得到正确结果。前面的条件实在是眼花了,楼主就没问题就将就着使吧,有问题再回贴吧
回复

使用道具 举报

发表于 2014-1-14 21:45 | 显示全部楼层
本帖最后由 tgydslr 于 2014-1-14 22:51 编辑
  1. =IF(ISBLANK(C5),"",IF(D5="小时工",IF(SUM($E5:$AI5)>=40,"全勤",""),IF((COUNTIF($E5:$AI5,"旷")+COUNTIF($E5:$AI5,"早退")+COUNTIF($E5:$AI5,"旷半")=0)*(AL5<=15)*IF(D5="兼职",((COUNTIF($E5:$AI5,"请")+COUNTIF($E5:$AI5,"请半")/2+COUNTIF($E5:$AI5,"忘请半")/2+COUNTIF($E5:$AI5,"迟请半")/2)<=2)*((COUNTIF($E5:$AI5,"√")+COUNTIF($E5:$AI5,"忘")+COUNTIF($E5:$AI5,"忘迟")+COUNTIF($E5:$AI5,"迟")+COUNTIF($E5:$AI5,"忘2")+COUNTIF($E5:$AI5,"迟2")*COUNTIF($E5:$AI5,"请")+COUNTIF($E5:$AI5,"请半")/2+COUNTIF($E5:$AI5,"忘请半")/2+COUNTIF($E5:$AI5,"迟请半")/2)>=($C$2-2)),(COUNTIF($E5:$AI5,"请")+COUNTIF($E5:$AI5,"请半")+COUNTIF($E5:$AI5,"忘请半")+COUNTIF($E5:$AI5,"迟请半")=0)),"全勤","")
复制代码
回复

使用道具 举报

发表于 2014-1-14 21:52 | 显示全部楼层
(COUNTIF($E5:$AI5,"旷")+COUNTIF($E5:$AI5,"早退")+COUNTIF($E5:$AI5,"旷半")=0)可以换成(SUM(COUNTIF($E5:$AI5,{"旷","早退","旷半"}))=0)当然下面的哪些还有好多了都可以照这样换了,换完了看的眼就不会花了,
回复

使用道具 举报

发表于 2014-1-14 22:07 | 显示全部楼层
2.rar (10.73 KB, 下载次数: 0)
回复

使用道具 举报

发表于 2014-1-14 22:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 tgydslr 于 2014-1-14 22:51 编辑

再简化合并,数组公式,三键结束
  1. =IF(ISBLANK(C5),"",IF(D5="小时工",IF(SUM($E5:$AI5)>=40,"全勤",""),IF((SUM(COUNTIF(E5:AI5,{"旷","早退","旷半"})*ROW(1:3)^0)=0)*(AL5<=15)*IF(D5="兼职",((COUNTIF($E5:$AI5,"请")+SUM(COUNTIF(E5:AI5,{"请半","忘请半","迟请半"})/2*ROW(1:3)^0)<=2)*(SUM(COUNTIF($E5:$AI5,{"√","忘","忘迟","迟","忘2","迟2","请"})*ROW(1:7)^0)+SUM(COUNTIF(E5:AI5,{"请半","忘请半","迟请半"})/2*ROW(1:3)^0)>=$C$2-2)),SUM(COUNTIF(E5:AI5,{"请","请半","忘请半","迟请半"})*ROW(1:4)^0)=0),"全勤","")))
复制代码
附件见也随着更新

2.rar

10.78 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2014-1-15 14:51 | 显示全部楼层
豪杰少林,数组公式可以下拉吗?   为什么*ROW(1:7)会自动变,最后变成(62:68).这个没有影响吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-30 23:52 , Processed in 0.422129 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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