查找工作时间的长短,不包括多重input和输出
在工作时间,我有一个有数千个员工logging的Excel表格。 我想找出员工在工作中的时间。 我需要一种方法来计算第一次和最后一次之间的差异,并忽略它们之间的logging。 这张表看起来像这样
Employee In out A 1-Jan 6:30 1-Jan 9:30 A 1-Jan 9:50 1-Jan 4:30 A 1-Jan 4:40 1-Jan 5:30 A 2-Jan 6:32 2-Jan 10:30 A 2-Jan 11:00 2-Jan 4:25 B . . . . . .
任何帮助,将不胜感激
假设数据在列A,B和C中,并且想要员工A
在D1列中的持续时间,则此公式将执行此操作:
=MAX(IF(A1:A5="A",C1:C5))-MIN(IF(A1:A5="A",B1:B5))
将公式input到单元格后,而不是按Enter
来退出光标,则需要按Ctrl+Shift+Enter
使其工作。
我希望这有帮助?
编辑:我没有任何头,所以数据从第1行开始。
使用VLOOKUP
有一个偷偷摸摸的方法 – 数据将不得不被sorting才能工作。
要find开始时间,这是一个easy =VLOOKUP("A",A2:C999,2,FALSE)
要find结束时间,我们必须find最后一个“A”logging,我们通过search超过“A”的一点点来实现: =VLOOKUP("A!",A2:C999,3,TRUE)
请注意VLOOKUP中的TRUE,因此它将返回小于我们search的下一个最大值,因此它将返回最后一个 “A”
从另一个减去一个,我们有等式:
=VLOOKUP("A!",A2:C999,3,TRUE)-VLOOKUP("A",A2:C999,2,FALSE)
对于聘用“A”,假设您的列是A:A
到C:C
(date被识别为这样,而不是文本):
= SUMIF(A:A; "A"; C:C) - SUMIF(A:A; "A"; B:B)