我想编写一个返回两个乘法单元格之和的查询,其中名称等于一个人的名字。让我们说我说我有:
|名称|得分|天|
| --------- | ------ | ------ |
| Suzie | 5.0 | 3
|强尼| 5.0 | 1
| Suzie | 4.0 | 1
| Suzie | 5.0 | 7
|强尼| 4.0 | 1
(5.0 * 3) +(4.0 * 1) +(5.0 * 7)
我想写一个查询:
=(index(query({a1:c3}, "Select Sum(Col2 * Col3) where Col1 = '" & D22 & "'"),2))
然而,它并不喜欢说" Sum(Col2 * Col3)"
是否可以将两列的总和相乘?
提前谢谢!
答案 0 :(得分:1)
您不需要查询。
两个乘法单元格的总和,其中名称等于人名
使用SUMPRODUCT(array1,[array2,...]):
=SUMPRODUCT(B1:B5,C1:C5,A1:A5=D22)
请注意A1:A5=D22
是一个标准。
平均分
使用SUMIF(范围,标准,[sum_range]):
=SUMPRODUCT(B1:B5,C1:C5,A1:A5=D22)/SUMIF(A1:A5,D22,C1:C5)
答案 1 :(得分:0)
请参阅此sample file。
数据强>
Col1 Col2 Col3
a 10 20
a 30 40
b 10 30
<强>结果强>
a 1400
b 300
<强>式强>
=QUERY({A2:A,ARRAYFORMULA(B2:B*C2:C)},
"select Col1, sum(Col2) where Col1 <> '' group by Col1")