根据 Excel 中 MAC 的列和求和时间值合并多行
Merge multiple rows based on column & sum time values in Excel for MAC
我每天都有一份从 KRONOS 提取并通过电子邮件发送给我的报告,其中有 4 列。姓名在第一列下方,员工 ID、工资类型、支付时间按该顺序排列。我只需要组合小时数,以便每行有一个值,只有一个名称。我尝试使用简单的枢轴 table 但由于两个原因失败了。
- 我不知道如何以 00:00 格式计算持续时间的总和
(尝试了字段设置中的每个选项)得到 N/a 或实例数。
- 即使有效,我也想弄清楚如何从 "LP CA Meal Penalty"
指示的工资栏类型中排除 1.00 小时的罚款
我试图将实际的 table 粘贴到此处,但它不允许我这样做,所以下面是我为一名员工复制问题的最佳尝试。
Curt, Cathy 90066408 LP CA 膳食罚款 1.00
Curt, Cathy 90066408 LP 加班费 1.77
Curt, Cathy 90066408 LP 常规 8.00
期望的结果:
简而言之,凯茜 90066408 = 9.77
不想:Curt, Cathy 90066408 = 10.77
似乎您需要做的就是按第三列过滤并在过滤器中排除 "LP CA Meal Penalty"。
附件是我的结果示例和我在数据透视表上选择的过滤器 table。
Result gotten
Filter excluding the unwanted work hour type from the sum
让我知道这是否适合你。
您可以使用 SUMIFS
作为我上面显示的示例,要使用的公式是:
=SUMIFS($D:$D,$A:$A,F2,$C:$C,"<>"&"LP CA Meal Penalty")
这将从计算中排除 LP CA Meal Penalty
。
此外,对于时间格式,要求不是很明确,但这是hh:mm
我理解你想要的。您可以使用的公式是:
=TEXT(H2/24,"hh:mm")
请调整适合您的数据结构的范围,如果这是您要求的,请告诉我。
假设你的数据在Column A:D
,结果需要显示在Column G
,
要从 Column A
中获取所有唯一的 Names
在 Cell G2
中输入以下公式
=IFERROR(INDEX($A:$A,MATCH(0,INDEX(COUNTIF($G:G1,$A:$A),0,0),0)),"")
Drag/Copy按要求向下。根据 Column A
.
中的数据更改范围 $A:$A
现在,要得到对应的Employee ID
,在Cell H2
中输入以下公式
=VLOOKUP(G2,A2:D9,2)
or
=INDEX($B:$B,MATCH(G2,$A:$A,0))
最后,要得到Total Hours
,在Cell I2
中输入下面的公式
=SUMIFS($D:$D,$A:$A,G2,$C:$C,"<>LP CA Meal Penalty")
or
=SUMPRODUCT(($D:$D)*($A:$A=G2)*($C:$C<>"LP CA Meal Penalty"))
参考图片。
编辑:
=SUMIFS($D:$D,$A:$A,G2,$C:$C,"<>LP CA Meal Penalty",$C:$C,"<>LP CA Rest Break Penalty")
or
=SUMPRODUCT(($D:$D)*($A:$A=G2)*($C:$C<>"LP CA Meal Penalty")*($C:$C<>"LP CA Rest Break Penalty"))
我每天都有一份从 KRONOS 提取并通过电子邮件发送给我的报告,其中有 4 列。姓名在第一列下方,员工 ID、工资类型、支付时间按该顺序排列。我只需要组合小时数,以便每行有一个值,只有一个名称。我尝试使用简单的枢轴 table 但由于两个原因失败了。
- 我不知道如何以 00:00 格式计算持续时间的总和 (尝试了字段设置中的每个选项)得到 N/a 或实例数。
- 即使有效,我也想弄清楚如何从 "LP CA Meal Penalty" 指示的工资栏类型中排除 1.00 小时的罚款
我试图将实际的 table 粘贴到此处,但它不允许我这样做,所以下面是我为一名员工复制问题的最佳尝试。
Curt, Cathy 90066408 LP CA 膳食罚款 1.00
Curt, Cathy 90066408 LP 加班费 1.77
Curt, Cathy 90066408 LP 常规 8.00
期望的结果: 简而言之,凯茜 90066408 = 9.77
不想:Curt, Cathy 90066408 = 10.77
似乎您需要做的就是按第三列过滤并在过滤器中排除 "LP CA Meal Penalty"。
附件是我的结果示例和我在数据透视表上选择的过滤器 table。 Result gotten
Filter excluding the unwanted work hour type from the sum
让我知道这是否适合你。
您可以使用 SUMIFS
作为我上面显示的示例,要使用的公式是:
=SUMIFS($D:$D,$A:$A,F2,$C:$C,"<>"&"LP CA Meal Penalty")
这将从计算中排除 LP CA Meal Penalty
。
此外,对于时间格式,要求不是很明确,但这是hh:mm
我理解你想要的。您可以使用的公式是:
=TEXT(H2/24,"hh:mm")
请调整适合您的数据结构的范围,如果这是您要求的,请告诉我。
假设你的数据在Column A:D
,结果需要显示在Column G
,
要从 Column A
中获取所有唯一的 Names
在 Cell G2
=IFERROR(INDEX($A:$A,MATCH(0,INDEX(COUNTIF($G:G1,$A:$A),0,0),0)),"")
Drag/Copy按要求向下。根据 Column A
.
$A:$A
现在,要得到对应的Employee ID
,在Cell H2
=VLOOKUP(G2,A2:D9,2)
or
=INDEX($B:$B,MATCH(G2,$A:$A,0))
最后,要得到Total Hours
,在Cell I2
=SUMIFS($D:$D,$A:$A,G2,$C:$C,"<>LP CA Meal Penalty")
or
=SUMPRODUCT(($D:$D)*($A:$A=G2)*($C:$C<>"LP CA Meal Penalty"))
参考图片。
编辑:
=SUMIFS($D:$D,$A:$A,G2,$C:$C,"<>LP CA Meal Penalty",$C:$C,"<>LP CA Rest Break Penalty")
or
=SUMPRODUCT(($D:$D)*($A:$A=G2)*($C:$C<>"LP CA Meal Penalty")*($C:$C<>"LP CA Rest Break Penalty"))