我有一个Google表格,其中产品列为行,属性列为列。每个产品的属性等级为1-10。我的最后一列是这些值的平均值(即=Average(B2:D2)
)。如果每个属性都具有相同的权重,则此方法很好。
+--------+-------+-------+-------+---------+
| | Attr1 | Attr2 | Attr3 | Overall |
+--------+-------+-------+-------+---------+
| Prod 1 | 10 | 8 | 9 | 9 |
| Prod 2 | 2 | 10 | 7 | 6.33 |
| Prod 3 | 4 | 6 | 6 | 5.33 |
+--------+-------+-------+-------+---------+
问题是我希望每个属性都具有不同的权重。例如,Attr1可能并不重要,应该只值50%,而Attr3非常重要,应该值300%。
+--------+-------------+-------+--------------+---------+
| | Attr1 (50%) | Attr2 | Attr3 (300%) | Overall |
+--------+-------------+-------+--------------+---------+
| Prod 1 | 10 | 8 | 9 | 8.89 |
| Prod 2 | 2 | 10 | 7 | 7.11 |
| Prod 3 | 4 | 6 | 6 | 5.78 |
+--------+-------------+-------+--------------+---------+
第一行的值为:
(10*0.5 + 8*1 + 9*3) / (0.5+1+3) = 8.89
可以使用以下公式计算:
(
B2*(IFERROR(REGEXEXTRACT(B1, "\d+"), 100)/100)
+ C2*(IFERROR(REGEXEXTRACT(C1, "\d+"), 100)/100)
+ D2*(IFERROR(REGEXEXTRACT(D1, "\d+"), 100)/100)
) / (
IFERROR(REGEXEXTRACT(B1, "\d+"), 100)/100
+ IFERROR(REGEXEXTRACT(C1, "\d+"), 100)/100
+ IFERROR(REGEXEXTRACT(D1, "\d+"), 100)/100
)
如您所见,随着添加更多属性,这变得非常难以管理。理想情况下,我正在寻找不需要创建临时单元来帮助进行计算的解决方案。
是否有任何内置函数或通用约定可以帮助我计算这些加权平均值?
$
迹象是什么意思?