如果 A 列包含多次相同的员工姓氏,如何在 B 列中添加值?

如果 A 列包含多次相同的员工姓氏,如何在 B 列中添加值?

数据状态:我有 A 列,其中包含雇员姓名,B 列中包含工作时间。如果 A 列包含多次相同的雇员姓氏,我该如何添加工作时间?

我一直在使用我期望起作用的方法,我使用的以下公式应该起作用,但我不明白为什么它不起作用?

公式:=SUMIF($A$2:$B$79,A2,$B$2:$B$79)

显然,我有 79 行数据,因此我将深入研究公式到其他单元格,这就是我没有锚定的原因A2

那么我在这里做错了什么?有没有更好、更有效的计算方法?

附加信息:例如,如果我在 A 列中有一个员工,他的名字为Richard,他的名字出现了column A3 次,值为,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 列中的所有内容相加”。

相关内容