我有一个电子表格,其中A列是我的员工的名字,所有其他列都是打卡时间。每天有两列(进出)。如果有人吃午饭,参赛作品将是3:00 | 5:00,表示他们在凌晨3点和凌晨5点都打了一拳。是的,这是一个荒谬可笑的报道,但这就是我所拥有的。我想计算一个人不休息的次数(出于法律原因)。所以我在一张纸上有所有这些信息,然后是另一张带有员工姓名的索引表和我正在尝试写的这个公式。我真的需要countifs更像sumifs。含义计算该行中的列A与给定名称匹配的任何行中的单元格数。以下是我写的一些失败:
=SUMPRODUCT(--('TS Summary'!A2:A10000=A3),--('TS Summary'!B2:ZZ10000="*|*"))/2
=SUMIFS('TS Summary'!A2:ZZ1000,'TS Summary'!A2:A1000,A4,'TS Summary'!B2:ZZ1000,"*|*")/2
=SUMIFS('TS Summary'!A2:A1000,'TS Summary'!A2:A1000,A7,'TS Summary'!A2:B1000,"*|*")/2
=COUNTIFS('TS Summary'!B2:ZZ10000,"*|*",'TS Summary'!A2:ZZ10000,A8)/2
最后的/ 2是因为否则会计入进出数,但我总是成对出现。
我想我已经做了足够多的研究,知道只有SUMPRODUCT会在这里挽救这一天,但我对SUMPRODUCT一无所知,在查看各个网站上的100多个示例并向Google深入10页后搜索,我想我可以说没有人记录如何做到这一点。所以我首先写这篇文章是为了得到一些帮助,其次是当它被解决时(通过我自己或帮助),它将记录下一个试图撕掉他们头发的人!
供参考(以及将来可以搜索),带有这些报告的人力资源系统是人性化的。并且一些搜索术语可能是产品总和,其中A列等于特定术语;和countifs嵌套在sumifs。
答案 0 :(得分:1)
我假设您的数据看起来像上面的A:E列,但更长。
对于摘要表,G列是每个员工的列表。 H列是该员工行的查询:=MATCH(G2,A:A)
,第I列是" |"的次数。字符出现在该员工的行中,除以2:
=SUMPRODUCT(LEN(INDIRECT("B"&H2&":E"&H2))-LEN(SUBSTITUTE(INDIRECT("B"&H2&":E"&H2),"|","")))/2
在此功能中,您需要将间接范围内的范围(特别是E)编辑为表格中的最后一列。希望这有帮助!
答案 1 :(得分:0)
好的,这不需要像我做的那么复杂。我陷入了纯粹的问题(引用一个单元格,将列与该单元格进行比较,并将匹配行中的所有字符相加)我忽略了简单的解决方案:参考专栏!所以我添加了一个包含以下公式的新列:
= COUNTIFS(C2:ZZ2, “ | ”)/ 2
然后我只使用SUMIF:
= SUMIF('TS摘要'!B2:B500,摘要!A2,'TS摘要'!A2:A500)
现在我的摘要表在列B中搜索名称并打印A的值,而列A则计算|的计数字符。
感谢你的帮助@Gattoun,我不确定我会在多长时间内完成这项工作,因为我没有看到你的简化图纸(这引发了解决方案的想法)!