Excel 根据另一列对某列求和

Excel 根据另一列对某列求和

我有两列。第一列中的值要么为空,要么为 1。第二列中的值是数字。我还有一个变量字段。

在每一列的底部,我想要一个“总计”字段,用于检查第一列中是否有值(1),如果有,则将其与第二列(在同一行)的值相加,然后乘以变量。

例如:

variable 10
name1 name2  counter
      1      2
1            3
1     1      3
1            4

totals
100    50

由于 name1 的列中有 3 个 1,因此它从计数器列中取出每个值,并将其乘以变量,然后输出总数

如果有人问到这个问题,我很抱歉,我尝试过搜索,但很难理解 Excel 语法。

谢谢!

答案1

Excel 2010(以及1之前的很多版本)有SUMIF- 你可以使用这个结果,然后乘以变量(这是可行的,因为Ax+bx+c*x=(a+b+c)*x

因此,公式如下:

=SUMIF(A3:A50,1,$C3:$C50)*$B$1

您可以将其复制到 B 列(Excel 会将其更改为=SUMIF(B3:B50,1,$C3:$C50)*$B$1),然后获取第二列的结果

1谢谢@Barry,我显然忘记了它在许多许多版本

答案2

你不需要辅助列,你需要的是Excel 表格和值得信赖的SUMPRODUCT()公式。

把它放在你面前会更容易,所以我创建了Excel 文件这就满足了你的要求。打开该文件后,你会看到我已经根据你的数据创建了一个表格(突出显示并按 Ctrl+t),然后添加了一个Totals Row自定义公式(右键单击表格,选择表格 > 总计行),该公式允许我使用该SUMPRODUCT()公式乘以你创建的变量。

供以后参考,该公式=SUMPRODUCT(--([name1]=1), [counter])*$B$1中的 $B$1 是您提到的变量单元格。这将获取name1列中等于 1 的所有行,将其对应值相加counter,然后乘以variable

如果您有任何疑问,请告诉我。

答案3

最简单的方法是使用辅助列(常见的 Excel 策略)。

  1. 添加两列,分别称为 SubTotal1 和 SubTotal2。
  2. SubTotal1 = Name1 * Counter,SubTotal2 = Name2 * Counter(名称中的空格计算为零)。
  3. 在新的“总计列”底部添加两个新的“总计”单元格。
  4. Total1 = 总和(Subtotal1 列)* 变量,Total2 = 总和(Subtotal2 列)* 变量。

在此处输入图片描述

相关内容