0

我有一个 Excel 表,其中包含数千条员工在工作时间进出的记录。我想找到员工在工作中花费的时间。我需要一种方法来计算先入后出之间的差异并忽略它们之间的记录。工作表看起来像这样

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           .                   .
   .
   .           .                   .

任何帮助,将不胜感激

4

3 回答 3

1

假设数据位于 A、B 和 C 列中,并且您希望AD1 列中的员工的持续时间,则此公式将执行此操作:

=MAX(IF(A1:A5="A",C1:C5))-MIN(IF(A1:A5="A",B1:B5))

将公式输入单元格后Enter,您需要按Ctrl+Shift+Enter才能使其工作,而不是按 转义光标。

我希望这有帮助?

编辑:我没有假设任何标题,所以数据从第 1 行开始。

于 2013-09-17T09:07:05.073 回答
1

有一种偷偷摸摸的方法VLOOKUP- 必须对数据进行排序才能使其工作。

要找到开始时间,很容易=VLOOKUP("A",A2:C999,2,FALSE)
找到结束时间,我们必须找到最后一个“A”记录,我们通过搜索比“A”多一点点来做到这一点:=VLOOKUP("A!",A2:C999,3,TRUE)
注意 VLOOKUP 中的 TRUE 所以它将返回小于我们搜索的下一个最大值,因此它将返回最后一个“A”

从另一个中减去一个,我们有等式:

=VLOOKUP("A!",A2:C999,3,TRUE)-VLOOKUP("A",A2:C999,2,FALSE)
于 2013-09-17T15:02:21.813 回答
0

对于雇用'A',假设您的列是A:AC:C并且日期被识别为这样,而不是文本):

= SUMIF(A:A; "A"; C:C) - SUMIF(A:A; "A"; B:B)
于 2013-09-17T10:08:00.117 回答