J'ai un Google Sheets où les produits sont répertoriés en tant que lignes et les attributs en tant que colonnes. L'attribut de chaque produit est évalué sur une échelle de 1 à 10. Ma dernière colonne est une moyenne de ces valeurs (c'est-à-dire =Average(B2:D2)
). Cela fonctionne très bien si chaque attribut a le même poids.
+--------+-------+-------+-------+---------+
| | Attr1 | Attr2 | Attr3 | Overall |
+--------+-------+-------+-------+---------+
| Prod 1 | 10 | 8 | 9 | 9 |
| Prod 2 | 2 | 10 | 7 | 6.33 |
| Prod 3 | 4 | 6 | 6 | 5.33 |
+--------+-------+-------+-------+---------+
Le problème est que je veux que chaque attribut ait un poids différent. Par exemple, Attr1 pourrait ne pas être important et ne devrait valoir que 50%, tandis que Attr3 est très important et devrait représenter 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 |
+--------+-------------+-------+--------------+---------+
La valeur pour la première ligne serait:
(10*0.5 + 8*1 + 9*3) / (0.5+1+3) = 8.89
qui pourrait être calculé en utilisant:
(
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
)
qui, comme vous pouvez le constater, peut devenir très difficile à gérer à mesure que de nouveaux attributs sont ajoutés. Idéalement, je recherche une solution ne nécessitant pas la création de cellules temporaires pour faciliter les calculs.
Existe-t-il une fonction intégrée ou une convention commune qui puisse m'aider à calculer ces moyennes pondérées?
$
signifient les signes?