Excel精英培训网

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

求助

[复制链接]
发表于 2019-9-17 19:51 | 显示全部楼层 |阅读模式
2学分
           说明
一、星期一到星期四上班打卡:7:00---8:30   下班打卡:16:45——17:45
                                星期五下班打卡时间为15:10--16:10

二、空白处为没有打卡,“开会”、“公差”视为已打卡
三、以上规定上下班打卡时间以及没有标注“开会”“出差”均为异常统计数之列。异常的单元格自动填充红色
四、27个工号对应27个异常统计表,让黄色部分自动生成
五、“统计表”中对工号为1的给出示范统计其他黄色部分参照

用公式让黄色部分自动生成数据


求助.zip

8.02 KB, 下载次数: 5

最佳答案

查看完整内容

因六日的規則跟假設不一樣,所以再另外回復一篇 提供給 您對照公式前後差異(紅色部份),當作學習 [hr]黃色公式統計部份: P3 陣列公式: =SUM(COUNTIFS($A$3:$A$68,$N3,$E$3:$E$68,{"","08:30"},$E$3:$E$68,"开会",$E$3:$E$68,"公差")) -SUM(COUNTIFS($A$3:$A$68,$N3,$G$3:$G$68,"星期"&{"六","日"},$E$3:$E$68,"08:30")) Q3 陣列公式: =SUM( ($A$3:$A$68=$N3)*($F$3:$F$68"开会")*($F$3:$F$68"公差")* IFERROR( IF( ...
发表于 2019-9-17 19:51 | 显示全部楼层
本帖最后由 cutecpu 于 2019-9-18 11:47 编辑

因六日的規則跟假設不一樣,所以再另外回復一篇
提供給 您對照公式前後差異(紅色部份),當作學習

黃色公式統計部份:

P3 陣列公式:  
=SUM(COUNTIFS($A$3:$A$68,$N3,$E$3:$E$68,{"","<07:00",">08:30"},$E$3:$E$68,"<>开会",$E$3:$E$68,"<>公差"))
-SUM(COUNTIFS($A$3:$A$68,$N3,$G$3:$G$68,"星期"&{"六","日"},$E$3:$E$68,"<07:00"))
-SUM(COUNTIFS($A$3:$A$68,$N3,$G$3:$G$68,"星期"&{"六","日"},$E$3:$E$68,">08:30"))

Q3 陣列公式:
=SUM(
($A$3:$A$68=$N3)*($F$3:$F$68<>"开会")*($F$3:$F$68<>"公差")*
IFERROR(
IF(WEEKDAY($D$3:$D$68,2)<>5,
ABS("17:45"-$F$3:$F$68)+ABS($F$3:$F$68-"16:45"),
ABS("16:10"-$F$3:$F$68)+ABS($F$3:$F$68-"15:10")
)<>1/24,0)
)
-SUM(COUNTIFS($A$3:$A$68,$N3,$G$3:$G$68,"星期"&{"六","日"},$F$3:$F$68,"<16:45"))
-SUM(COUNTIFS($A$3:$A$68,$N3,$G$3:$G$68,"星期"&{"六","日"},$F$3:$F$68,">17:45"))

R3 陣列公式: =SUM(IF(($A$3:$A$68=N3)*MMULT(($E$3:$E$68={"开会","公差"})+($F$3:$F$68={"开会","公差"}),ROW($1:$2)^0),1))

紅色異常格式化部份:

E3:E68 格式化公式:  =IF(WEEKDAY(D3,2)<6,(E3<>"开会")*(E3<>"公差")*((E3<"07:00"*1)+(E3>"08:30"*1)),E3="")
F3:F68 格式化公式:  =IF(WEEKDAY(D3,2)<6,(F3<>"开会")*(F3<>"公差")*(IF(WEEKDAY(D3,2)<>5,ABS("17:45"-F3)+ABS(F3-"16:45"),ABS("16:10"-F3)+ABS(F3-"15:10"))<>1/24),F3="")

祝順心,南無阿彌陀佛!
log.png

Book.rar

16.57 KB, 下载次数: 5

回复

使用道具 举报

发表于 2019-9-17 20:33 | 显示全部楼层
本帖最后由 cutecpu 于 2019-9-17 21:03 编辑

星期六、日的上下班時間怎麼規定呢?
回复

使用道具 举报

发表于 2019-9-18 04:40 | 显示全部楼层
本帖最后由 cutecpu 于 2019-9-18 04:54 编辑

黃色公式統計部份:
P3 陣列公式:  =SUM(COUNTIFS($A$3:$A$68,$N3,$E$3:$E$68,{"","<07:00",">08:30"},$E$3:$E$68,"<>开会",$E$3:$E$68,"<>公差"))
Q3 陣列公式:
=SUM(
($A$3:$A$68=$N3)*($F$3:$F$68<>"开会")*($F$3:$F$68<>"公差")*
IFERROR(
IF(WEEKDAY($D$3:$D$68,2)<>5,
ABS("17:45"-$F$3:$F$68)+ABS($F$3:$F$68-"16:45"),
ABS("16:10"-$F$3:$F$68)+ABS($F$3:$F$68-"15:10")
)<>1/24,0)
)
R3 陣列公式: =SUM(IF(($A$3:$A$68=N3)*MMULT(($E$3:$E$68={"开会","公差"})+($F$3:$F$68={"开会","公差"}),ROW($1:$2)^0),1))

紅色異常格式化部份:
E3:E68 格式化公式:  =(E3<>"开会")*(E3<>"公差")*((E3<"07:00"*1)+(E3>"08:30"*1))
F3:F68 格式化公式:  =(F3<>"开会")*(F3<>"公差")*(IF(WEEKDAY(D3,2)<>5,ABS("17:45"-F3)+ABS(F3-"16:45"),ABS("16:10"-F3)+ABS(F3-"15:10"))<>1/24)
註:
1. 原檔案E,F二欄的值格式不太一致,我在附件中有做修正
2. 我先假設星期六、日上下班規則跟星期一到星期四一樣
3. 同一天上下班都有開會或公差的話,統計時我只算一筆

祝順心,南無阿彌陀佛!





log.png

Book.rar

16.27 KB, 下载次数: 8

回复

使用道具 举报

 楼主| 发表于 2019-9-18 08:05 | 显示全部楼层
cutecpu 发表于 2019-9-17 20:33
星期六、日的上下班時間怎麼規定呢?

星期六星期天不在打卡范围
回复

使用道具 举报

 楼主| 发表于 2019-9-18 08:09 | 显示全部楼层
dbzcxy 发表于 2019-9-18 08:05
星期六星期天不在打卡范围

星期六星期天只要打卡了,就要算在之类
回复

使用道具 举报

 楼主| 发表于 2019-9-18 08:11 | 显示全部楼层
cutecpu 发表于 2019-9-18 04:40
黃色公式統計部份:
P3 陣列公式:  =SUM(COUNTIFS($A$3:$A$68,$N3,$E$3:$E$68,{"","08:30"},$E$3:$E$68,"开 ...

下班异常统计公式有问题。每天上下班有正常的打卡时间,唯独星期五下午例外。另外开会公差不算之列
回复

使用道具 举报

 楼主| 发表于 2019-9-18 08:13 | 显示全部楼层
你红色部分工号为1的下班异常统计为3,但是公式结果显示为1
回复

使用道具 举报

发表于 2019-9-18 10:45 | 显示全部楼层
dbzcxy 发表于 2019-9-18 08:13
你红色部分工号为1的下班异常统计为3,但是公式结果显示为1

Q3 是陣列公式,請按 Ctrl+Shift+Enter
註: 我上傳的附件忘了按,所以結果有錯
回复

使用道具 举报

 楼主| 发表于 2019-9-19 08:41 | 显示全部楼层
星期5在公司中哪里体现   公司中1/24,0  是什么意思
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 02:38 , Processed in 0.467564 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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