2017-10-06 103 views
1

我想编写一个查询,返回两个相乘单元格的总和,其中名称等于一个人的姓名。比方说,我说我有:
查询产品的总和

|名称|分数|天|
| --------- | ------ | ------ |
| 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)) 

然而,这不是” t喜欢说“总和(Col2 * Col3)”的部分

是否可以将两列的总和相乘?

预先感谢您!

+0

宇页。不可能。 'SUM'需要'QUERY'中的列标识符,并且没有解决方法。 –

回答

1

您不需要查询。


二乘细胞,其中名称等于一个人的名字

使用SUMPRODUCT(数组1,[数组2,...])的总和:

=SUMPRODUCT(B1:B5,C1:C5,A1:A5=D22) 

请注意A1:A5=D22是一个标准。


平均得分

使用SUMIF(范围,条件,[求和范围]):

=SUMPRODUCT(B1:B5,C1:C5,A1:A5=D22)/SUMIF(A1:A5,D22,C1:C5) 
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")