ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 请教高人关于Excel表考勤表公式统计的5个问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-22 12:41 | 显示全部楼层
问题五
先对“数据源”表的H列进行了微小的改造(见附件),严格按照你的规则,在可能有英文单字母的地方用β进行标识。但H6单元格出勤日对应K6单元格√,这一对组合我公式中没有用到,因为你所有的数据中,都没有"出勤日"这三个字。(如果后期要用到,你可以在公式对应范围中包含进去即可)
考勤表D6公式
=LET(j,{"元旦节";"春节";"清明节";"劳动节";"端午节";"中秋节";"国庆节"},a,OFFSET(排班表!$C$8,$A6,COLUMNS($A:A)),b,IF(LENB(LEFT(a))=1,"β"&MID(a,2,9),a),IF($A6="","",IFNA(VLOOKUP(b,HSTACK(VSTACK(数据源!$H$7:$H$34,j,"β"&j),VSTACK(数据源!$K$7:$K$34,EXPAND("PH",7,,"PH"),EXPAND("法休T",7,,"法休T"))),2,),"")))
进行右拉,下拉或复制都可以


问题五--公式.zip

81.34 KB, 下载次数: 4

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-22 13:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
mykitami 发表于 2024-10-22 10:56
有可能你有好几个版本的授权,最示的是2016,实际上是365
因为有些高级的函数在2016版是没有的,但你却 ...





好的,
感谢高人的指导,
我是照着版本号抄下来的,
我以为这有区别,
但是感觉上好像就是Microsoft Office 365版本,
但是为了慎重,
还是照抄版本号.


下次请教问题时小弟就写Microsoft Office 365版本.



TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-22 14:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
mykitami 发表于 2024-10-22 12:41
问题五
先对“数据源”表的H列进行了微小的改造(见附件),严格按照你的规则,在可能有英文单字母的地方 ...



非常非常感谢高人的公式帮助啊,
小弟都不知道说什么好了,
高人写的公式和解题的思路小弟差的都不知远到哪里去了,
级别相差太大了.


原来还可以在“数据源”表里面的“特殊日”有英文字母的前面加个“β”,
用来搜索查找“排班表”表里面的排班文字,
这个思路太了不起,
向高人学习了啊.


出勤日 √
暂时还没有用到,
这个做备用用的,
感谢高人在公式里面给小弟预留了位置啊.


高人写的公式太厉害了,
右拉,下拉,复制都可以,
不像小弟写的这个公式,
还需要在公式里面不同的地方去一个一个的改,
真麻烦啊,
要是考勤的人再多点就更麻烦了,
高人的公式效率提升了好多倍了.




请问小弟再请教高人一个小问题帮忙想想思路可以吗?
“排班表”AK列的“公休”,
这个是为了检查是否每人每月有固定的6天公休,
因为多了的话就需要重新排班,
如果少了的话就需要下个月补回来,
所以小弟想在“条件格式”里面去实现这个效果,
小于6,大于6,就用黄颜色充填单元格标示出来.


单元格看上去是空值,
但实际上单元格内是有公式的,
小弟设置的“条件格式”“不等于6”的话这个有公式但看上去是空值的单元格也会充填黄颜色,
请问高人有什么方法可以实现小于6,大于6,就用黄颜色充填单元格标示出来的同时,
这个有公式但看上去空值的单元格也不会充填黄颜色标示出来呢?


小弟目前用的是“条件格式”“小于6”.





请教高人关于Excel表考勤表公式统计的5个问题 检查6天公休 2024-10-20.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-22 19:46 | 显示全部楼层
mykitami 发表于 2024-10-22 12:41
问题五
先对“数据源”表的H列进行了微小的改造(见附件),严格按照你的规则,在可能有英文单字母的地方 ...



高人你好,
关于单元格有公式但是看上去是空值想要条件格式去充填颜色要显示为无色的问题,
在翻看了2019年的帖子之后,
得到了“刀羊”高人指点其他求助者的解答,
小弟的这个问题也解决好了.


条件格式AL9=ABS(AL9)<>6


非常感谢高人的公式指教.


2024年10月22日 星期二


TA的精华主题

TA的得分主题

发表于 2024-10-22 21:33 | 显示全部楼层
idiocy 发表于 2024-10-22 14:42
非常非常感谢高人的公式帮助啊,
小弟都不知道说什么好了,
高人写的公式和解题的思路小弟差的都不知 ...

可以用条件格式公式
=--AK9<>6

TA的精华主题

TA的得分主题

发表于 2024-10-22 21:34 | 显示全部楼层
idiocy 发表于 2024-10-22 19:46
高人你好,
关于单元格有公式但是看上去是空值想要条件格式去充填颜色要显示为无色的问题,
在翻看了 ...

对,对
这个可以
但是不是应该是AK9

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-23 12:50 | 显示全部楼层
mykitami 发表于 2024-10-22 21:34
对,对
这个可以
但是不是应该是AK9



非常感谢高人的纠正啊,
确实是AK9,
看花眼了,
数错列了,
不好意啊.




请问小弟还可以再请教高人考勤表后面统计考勤符号出现次数的公式问题吗?
不能右拉不能下拉.


问题06:
已知根据“数据源”表里面对应的“考勤符号”出现次数记数统计的公式:
考勤表AI6=COUNTIF($D6:$AH6,数据源!$K$6)


由于想要隐藏数值零方便查看,公式为:
考勤表AI6=IF(COUNTIF($D6:$AH6,数据源!$K$6)=0,"",COUNTIF($D6:$AH6,数据源!$K$6))


但是这样写的公式不能右拉和下拉去充填公式,
因为右拉不能递增竖排列的单元格,
而下拉又对不上有合并的单元格,
请问高人写的这种即使有合并的单元格也可以右拉下拉充填公式的公式是怎么写的可以教一教小弟吗?
小弟看有的高人可以使用ROW的函数来判断是在第几行然后就可以右拉下拉公式用了,
不知道是怎么写的?
请高人指导一下好吗?






问题07:
已知本月加班的公式:
考勤表BL6=SUBTOTAL(109,$D7:$AH7)


这是计算每人每月整个月的包含法定节假日加班的公式,
小弟想要除开法定节假日加班之外的其他所有形式的加班不知道怎么写.
又不想用
考勤表BL6=SUBTOTAL(109,$D7:$AH7)-BM6
这种公式计算出来.


已知本月法定节假日加班的公式:
考勤表BM6=SUMIF($D6:$AH6,数据源!$K$13,$D7:$AH7)*2


乘以2是因为法定节假日加班的计时数是双倍,
计算双倍加班费或者是补休双倍的休息日要用到,
请问是否可以根据这样的公式去统计除开法定节假日加班之外的其他所有形式的加班小时数呢?
也就是除开“数据源”表里面对应的“考勤符号”“法休T”之外其他剩下的加班小时数呢?
如果还有其他除开的譬如“考勤符号”出差“BL”再用数组公式结合加进去计算请问高人这样子可以吗?


是不是要用到
FILTER
SUMPRODUCT
函数?
小弟不懂,
想请教高人帮忙指教一下公式好吗?
感激不尽啊.


2024年10月23日 星期三






TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-23 13:08 | 显示全部楼层
mykitami 发表于 2024-10-22 21:33
可以用条件格式公式
=--AK96



你好,
高人,
小弟想到
统计除开法定节假日加班之外的其他所有形式的加班小时数的公式:
考勤表BL6=SUMIF($D6:$AH6,"<>"&数据源!$K$13,$D7:$AH7)


请高人帮忙检查公式是否写的正确?
小弟验算了一下答案是对的上的.


但是统计考勤符号出现次数可以右拉下拉的公式还得请高人帮忙写一写,
这个小弟不会,
惭愧啊.




TA的精华主题

TA的得分主题

发表于 2024-10-23 16:58 | 显示全部楼层
本帖最后由 mykitami 于 2024-10-23 17:01 编辑
idiocy 发表于 2024-10-23 12:50
非常感谢高人的纠正啊,
确实是AK9,
看花眼了,

问题六
没有必要再去引用数据源中的数据,因为你在AI4:BK5已经引用到考勤表了,在本表中引用不是列方便吗?这就也更方便公式的下拉右拉操作。
另外,你引用过来的数据是原顺序的,用一个公式整体就一下子搬过来了,公式仅在一个单元格中设置就行了,因为M365有自动溢出功能。
所以在考勤表AI4的公式是(先把AI4:BK5的所有数据清除)
=TRANSPOSE(HSTACK(数据源!$H$6:$H$34,数据源!$K$6:$K$34))
AI6公式
=IFERROR(1/COUNTIF($D6:$AH6,AI$5)^-1,"")

问题七
BL6公式
=SUM(SUMIFS($D7:$AH7,$D6:$AH6,{"<>","="}&$AP$5)*{1,-1})
如果想不显示0值,可以模仿我AI6公式的做法在公式前面加上     IFERROR(1/     后面加上   ^-1,"")   
即:
=IFERROR(1/SUM(SUMIFS($D7:$AH7,$D6:$AH6,{"<>","="}&$AP$5)*{1,-1})^-1,"")
同理
BM6公式
=IFERROR(1/(SUMIF($D6:$AH6,$AP$5,$D7:$AH7)*2)^-1,"")

公式已经在附件中写好了,请参照
有问题你就直接问,不用客气,很乐意为新手解答,我也正好温故知新。

问题六及七--公式.zip

1.78 MB, 下载次数: 5

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-23 18:32 | 显示全部楼层
mykitami 发表于 2024-10-23 16:58
问题六
没有必要再去引用数据源中的数据,因为你在AI4:BK5已经引用到考勤表了,在本表中引用不是列方便 ...



原来如此,
不用再去从“数据源”表去引用,
直接从上面的符号就可以引用了,
小弟一直想着从“数据源”表去引用呢,
这个右拉下拉的硬是弄不好哦.


原来隐藏0值的公式还可以这样:
=IFERROR(1/原来的公式^-1,"")


小弟在网上查到的这个隐藏0值的公式
=IF(原来的公式=0,"",原来的公式)
又增加了右拉下拉的困难.


本月加班但不包含节假日的公式又学会了一个新的思路.


这次考勤表的公式请教问题得到了高人的耐心指教修正让小弟收获颇多,
非常非常的感谢高人啊,
向高人学习了.


2024年10月23日 星期三




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

本版积分规则

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

GMT+8, 2024-11-21 19:51 , Processed in 0.040716 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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