Tengo un Google Sheets donde los productos se enumeran como filas y los atributos como columnas. El atributo de cada producto se clasifica en una escala de 1-10. Mi última columna es un promedio de estos valores (es decir =Average(B2:D2)
). Esto funciona bien si cada atributo tiene el mismo peso.
+--------+-------+-------+-------+---------+
| | Attr1 | Attr2 | Attr3 | Overall |
+--------+-------+-------+-------+---------+
| Prod 1 | 10 | 8 | 9 | 9 |
| Prod 2 | 2 | 10 | 7 | 6.33 |
| Prod 3 | 4 | 6 | 6 | 5.33 |
+--------+-------+-------+-------+---------+
El problema es que quiero que cada atributo tenga un peso diferente. Por ejemplo, Attr1 podría no ser importante y solo debería valer el 50%, mientras que Attr3 es muy importante y debería valer el 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 |
+--------+-------------+-------+--------------+---------+
El valor para la primera fila sería:
(10*0.5 + 8*1 + 9*3) / (0.5+1+3) = 8.89
que podría calcularse usando:
(
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
)
que, como puede ver, puede ser muy difícil de administrar a medida que se agregan más atributos. Idealmente, estoy buscando una solución que no requiera la creación de celdas temporales para ayudar con los cálculos.
¿Existe alguna función incorporada o una convención común que pueda ayudarme a calcular estos promedios ponderados?
$
significan los signos?