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

I A*_*M L 1 spreadsheet microsoft-excel-2007 worksheet-function microsoft-excel

数据状态: 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说他做了一个total of 16 hours

Ste*_*ngs 5

根据我对您对问题的描述的理解,您在 A 列(“姓名”)中有一个员工姓名列表,在 B 列(“工作时间”)中有每个员工的工作时间列表。一些员工被多次列出。您希望获得每个员工的列表以及他们的总小时数。

最简单的方法是使用数据透视表:

  • 选择包含您的数据的表
  • 选择插入 → 数据透视表。选择放置桌子的位置。
  • 将“名称”拖入行标签框并将“HoursWorked”拖入值框(默认为“Sum of HoursWorked”)。

如果您不能使用数据透视表,如果您可以硬编码员工姓名,那么您可以以这种方式使用 SUMIFS:

  • 将 A 列复制到 D 列,选择 D 列并使用 Data → Remove Duplicates 获取唯一员工姓名列表
  • 在 E 列中,添加公式:

    Cell E2: =SUMIFS($B2:$B79,$A2:$A79,D2)
             (fill down to the last employee name)
    
    Run Code Online (Sandbox Code Playgroud)

    这意味着“如果 A 列中的相应单元格等于 D2 中的值,则将 B 列中的所有内容相加”。