Tôi có Google Sheets nơi các sản phẩm được liệt kê dưới dạng hàng và thuộc tính dưới dạng cột. Mỗi thuộc tính của sản phẩm được đánh giá theo thang điểm từ 1-10. Cột cuối cùng của tôi là trung bình của các giá trị này (tức là =Average(B2:D2)
). Điều này hoạt động tốt nếu mỗi thuộc tính có cùng trọng lượng.
+--------+-------+-------+-------+---------+
| | Attr1 | Attr2 | Attr3 | Overall |
+--------+-------+-------+-------+---------+
| Prod 1 | 10 | 8 | 9 | 9 |
| Prod 2 | 2 | 10 | 7 | 6.33 |
| Prod 3 | 4 | 6 | 6 | 5.33 |
+--------+-------+-------+-------+---------+
Vấn đề là tôi muốn mỗi thuộc tính có trọng lượng khác nhau. Ví dụ: Attr1 có thể không quan trọng và chỉ nên có giá trị 50%, trong khi Attr3 rất quan trọng và nên có giá trị 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 |
+--------+-------------+-------+--------------+---------+
Giá trị cho hàng đầu tiên sẽ là:
(10*0.5 + 8*1 + 9*3) / (0.5+1+3) = 8.89
có thể được tính bằng cách sử dụng:
(
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
)
mà, như bạn có thể thấy, có thể trở nên rất khó quản lý khi thêm nhiều thuộc tính. Lý tưởng nhất là tôi đang tìm một giải pháp không yêu cầu tạo các ô tạm thời để giúp tính toán.
Có bất kỳ chức năng được xây dựng hoặc một quy ước chung nào có thể giúp tôi tính các trung bình có trọng số này không?
$
dấu hiệu có ý nghĩa gì?