数据状态:我有 A 列,其中包含雇员姓名,B 列中包含工作时间。如果 A 列包含多次相同的雇员姓氏,我该如何添加工作时间?
我一直在使用我期望起作用的方法,我使用的以下公式应该起作用,但我不明白为什么它不起作用?
公式:=SUMIF($A$2:$B$79,A2,$B$2:$B$79)
显然,我有 79 行数据,因此我将深入研究公式到其他单元格,这就是我没有锚定的原因A2
。
那么我在这里做错了什么?有没有更好、更有效的计算方法?
附加信息:例如,如果我在 A 列中有一个员工,他的名字为Richard
,他的名字出现了column A
3 次,值为,column B
因此3,4,9
,我希望在 C 列中有一个总数,在 D 列中的名字为 Richards,例如,说明他已经做了total of 16 hours
。
答案1
根据我对问题描述的理解,A 列(“姓名”)中有一个员工姓名列表,B 列(“工作小时数”)中有一个每位员工的工作小时数列表。有些员工会列出多次。您希望获取每位员工的列表以及他们的总工作小时数。
最简单的方法是使用数据透视表:
- 选择包含数据的表
- 选择插入 → 数据透视表。选择表格的放置位置。
- 将“名称”拖到行标签框中,并将“工作时间”拖到值框中(默认为“工作时间总和”)。
如果您不能使用数据透视表,如果您可以对员工姓名进行硬编码,那么您可以按照以下方式使用 SUMIFS:
- 将 A 列复制到 D 列,选择 D 列并使用数据 → 删除重复项以获取唯一员工姓名列表
在 E 列中,添加公式:
Cell E2: =SUMIFS($B2:$B79,$A2:$A79,D2) (fill down to the last employee name)
这意味着“如果 A 列中相应单元格的值等于 D2 中的值,则将 B 列中的所有内容相加”。