製品が行として、属性が列としてリストされている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
)
ご覧のとおり、属性が追加されると管理が非常に難しくなる可能性があります。理想的には、計算を支援するために一時的なセルを作成する必要のないソリューションを探しています。
これらの加重平均の計算に役立つ組み込み関数または一般的な規則はありますか?
$
兆候はどういう意味ですか?