我有两列。第一列中的值要么为空,要么为 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 策略)。
- 添加两列,分别称为 SubTotal1 和 SubTotal2。
- SubTotal1 = Name1 * Counter,SubTotal2 = Name2 * Counter(名称中的空格计算为零)。
- 在新的“总计列”底部添加两个新的“总计”单元格。
- Total1 = 总和(Subtotal1 列)* 变量,Total2 = 总和(Subtotal2 列)* 变量。