根据其他单元格对单元格进行求和

根据其他单元格对单元格进行求和

例如,我有以下 Excel 文件:

| USER ID | SCORE | TOTAL SCORE | TOTAL BONUS | NOTE  |
| ------- | ----- | ----------- | ----------- | ----- |
| 18      | 10    |             |             |       |
| 18      | 25    |             |             |       |
| 18      | 15    |             |             |       |
| 18      | 5     |             |             | bonus |
| 18      | 30    |             |             |       |
| 24      | 2     |             |             |       |
| 24      | 7     |             |             |       |
| 24      | 21    |             |             |       |
| 32      | 6     |             |             |       |
| 32      | 9     |             |             | bonus |
| 32      | 18    |             |             |       |
| 32      | 40    |             |             |       |

对于每个用户 ID,在第一行中,我必须有总分,不包括奖金(可通过 NOTE 列识别),以及奖金总和(如果存在,否则为 0)。

该示例的结果应该是这样的:

| USER ID | SCORE | TOTAL SCORE | TOTAL BONUS | NOTE  |
| ------- | ----- | ----------- | ----------- | ----- |
| 18      | 10    | 80          | 5           |       |
| 18      | 25    |             |             |       |
| 18      | 15    |             |             |       |
| 18      | 5     |             |             | bonus |
| 18      | 30    |             |             |       |
| 24      | 2     | 30          | 0           |       |
| 24      | 7     |             |             |       |
| 24      | 21    |             |             |       |
| 32      | 6     | 64          | 9           |       |
| 32      | 9     |             |             | bonus |
| 32      | 18    |             |             |       |
| 32      | 40    |             |             |       |

使用函数自动求和是否可行?也许可以用SUMIF()

答案1

表开始于A1

Total Score:  C2: =IF(A2=A1,"",SUMIF($A$2:$A$13,A2,$B$2:$B$13)  -SUMIFS($B$2:$B$13,$A$2:$A$13,A2,$E$2:$E$13,"bonus"))

Total Bonus:  D2: =IF(A2=A1,"",SUMIFS($B$2:$B$13,$A$2:$A$13,A2,$E$2:$E$13,"bonus"))

并向下填充。

在此处输入图片描述

答案2

在以下帮助下本文

您需要创建一些额外的列。我首先计算学生 ID 的总分(包括奖金),然后计算总奖金,最后从总分中减去总奖金,得到所需的结果。

excel 结果

  • 我们用这个函数来计算总分和总奖金SUMPRODUCTSUMPRODUCT((A2:A13=A2)*B2:B13) 第一个矩阵是用户ID,结果按照这个矩阵分组并加在一起。第二个矩阵是用户分数。
  • 我们创建一行,使用 IF 函数来计算总奖金:IF(F2="bonus",B2,0)
  • 我们计算总奖金,与第一个函数非常相似: SUMPRODUCT((A2:A13=A2)*D2:D13)
  • 我们从总分中减去总奖金:C2-E2

此后,剩下的就是手动清理桌子了。

还有一个选项可以格式化单元格,使得当单元格值等于 0 时,单元格为空(您可以将其应用于“奖励”列)。

答案3

尝试这个公式:

总得分柱子:

=IF(A2=A1,"",SUMPRODUCT(($A$2:$A$13=A2)*$B$2:$B$13))

在此处输入图片描述

总奖金柱子:

=IF(A2=A1,"",SUMPRODUCT(N($A$2:$A$13=A2)))

在此处输入图片描述

答案4

在此处输入图片描述

怎么运行的:

  • 单元格 D2 中的公式:

    =IF(A2=A1,"",SUMPRODUCT(($A$2:$A$13=A2)*($E$2:$E$13="bonus"),$B$2:$B$13))
    
  • 单元格 C2 中的公式:

    =IFERROR(IF(A2=A1,"",SUMIF(A$2:A$13,A2,B$2:B$13))-D2,"")
    

您可以根据需要调整公式中的单元格引用。

相关内容