我有以下两列数据,并希望计算加权平均值,其中B列是权重。但是,我想从计算中排除那些在A列中没有数据的权重,即下面的第2行和第8行。
我如何才能直截了当地做到这一点呢?
我使用的公式是:
{=SUM(A2:A9*B2:B9)/SUM(B2:B13)}
问题是,这会自动选择整个列B,或者换言之,即使列A并不总是有数据,也会选择所有的权重。
| Column A | Column B|
-----------------------
| 158.3 | 59.3
| | 1.5
| 166.5 | 7.1
| 150.7 | 8.1
| 151.5 | 4.0
| 182.8 | 6.7
| 111.2 | 5.6
| | 0.2发布于 2017-12-14 02:07:20
希望下面的公式对你有用。
=SUMPRODUCT(A2:A9,B2:B9)/SUMIF(A2:A9,">0",B2:B9)让我知道它给你的结果是什么。
发布于 2017-12-14 02:15:09

上面的公式如下所示。
=SUMPRODUCT($A$3:$A$10,$B$3:$B$10)/SUMPRODUCT($B$3:$B$10*($A$3:$A$10<>""))Sumproduct执行类似数组的操作。因此,避免在sumproduct函数中使用像C:C这样的完整列引用,因为这会导致过多的计算。
https://stackoverflow.com/questions/47799271
复制相似问题