Menu

Trung bình có trọng số trong Excel: công thức SUMPRODUCT

=SUMPRODUCT(B2:B5,C2:C5)/SUM(C2:C5) là trung bình có trọng số: mỗi giá trị được nhân với trọng số của nó, các tích được cộng lại, rồi tổng được chia cho tổng các trọng số. Áp dụng cho điểm số, GPA theo tín chỉ và giá theo số lượng.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=SUMPRODUCT(B2:B5,C2:C5)/SUM(C2:C5) tính trung bình có trọng số (weighted average): mỗi điểm trong cột B được nhân với trọng số của nó trong cột C, các tích được cộng lại, rồi tổng được chia cho tổng các trọng số.

Điểm tổng kết môn học có trọng số
F2
ABCDEF
1PartScoreWeightAverageResult
2Homework8520%Weighted81.2
3Quizzes7830%Plain AVERAGE80.75
4Midterm7220%
5Final8830%
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Điểm có trọng số là 81,2, còn AVERAGE thông thường cho 80,75, vì hàm này coi bài tập về nhà, chiếm 20%, quan trọng ngang bài thi cuối kỳ, chiếm 30%. Đổi điểm thi cuối kỳ thì điểm có trọng số thay đổi nhiều hơn so với khi đổi cùng mức đó ở bài tập về nhà.

Excel không có hàm WEIGHTED.AVERAGE, nên SUMPRODUCT chia cho SUM là công thức chuẩn. Google Sheets có AVERAGE.WEIGHTED(B2:B5,C2:C5).

Công thức trung bình có trọng số hoạt động thế nào

SUMPRODUCT nhân hai vùng theo từng hàng rồi cộng các kết quả. Viết ra bằng một cột phụ, đó là một cột các tích cùng với SUM của chúng:

Công thức, từng bước một
D6
ABCD
1PartScoreWeightScore x weight
2Homework8520%17.0
3Quizzes7830%23.4
4Midterm7220%14.4
5Final8830%26.4
6Total100%81.2
7Weighted average81.2
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Mỗi phần đóng góp điểm của nó nhân với trọng số: 85 × 20% là 17,0, 78 × 30% là 23,4, và cứ thế tiếp tục. Tổng cộng là 81,2. Các trọng số cộng lại đúng 100%, nên chia cho C6 không thay đổi gì ở đây, nhưng chính phép chia này giữ cho công thức đúng khi tổng trọng số không bằng 100%.

Trọng số không cộng lại thành 100%

Trọng số không nhất thiết phải là phần trăm. GPA được tính trọng số theo số tín chỉ, giá trung bình theo số lượng. Chia cho SUM của các trọng số sẽ xử lý được mọi tổng.

GPA tính theo tín chỉ
F2
ABCDEF
1CourseGrade pointsCreditsAverageResult
2Math44Weighted GPA3.51
3History33Plain average3.48
4Biology3.74Total credits14
5Art2.72
6Lab41
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Không có phép chia, công thức sẽ trả về tổng điểm nhân tín chỉ, ở đây là 49,2, chứ không phải GPA. Có phép chia, F2 hiện GPA tính theo 14 tín chỉ. Các môn bốn tín chỉ kéo điểm trung bình về phía điểm của chúng, còn môn thực hành một tín chỉ gần như không làm nó nhích: đổi B6 thành 2 và xem F2 thay đổi ít thế nào so với F3.

Nếu trọng số là phần trăm cộng lại đúng 100%, chỉ cần =SUMPRODUCT(B2:B5,C2:C5) cũng cho cùng kết quả. Dù vậy, hãy giữ /SUM(...): vào ngày một trọng số bị đổi và tổng thành 105%, công thức không có phép chia sẽ sai mà trên trang tính chẳng có gì báo hiệu.

Trung bình có trọng số kèm điều kiện

Để chỉ tính trọng số cho một số hàng, hãy nhân với một điều kiện bên trong SUMPRODUCT, và cộng các trọng số khớp điều kiện bằng SUMIF. Bên dưới, giá trung bình theo từng khu vực được tính trọng số theo số lượng bán ra.

Giá trung bình theo khu vực
G2
ABCDEFG
1RegionProductPriceQtyRegionAverage price
2NorthApple$1.20100North$1.45
3SouthPear$1.5040South$1.36
4NorthPear$1.5060
5SouthApple$1.20120
6NorthPlum$2.0040
7SouthPlum$2.0020
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

North bán 100 quả táo, 60 quả lê và 40 quả mận, nên giá trung bình là $1,45, gần giá táo hơn so với trung bình cộng thông thường của ba mức giá. Điều kiện (A2:A7=F2) bằng 1 ở các hàng North và bằng 0 ở các hàng khác, nên những hàng còn lại không cộng thêm gì vào tử số, và SUMIF chỉ cộng số lượng của North ở mẫu số.

Luyện tập: giá trung bình có trọng số

Đến lượt bạn: giá trung bình đã trả
F2
ABCDEF
1BatchPriceQtyAverageResult
2Jan$4.20100Weighted price
3Feb$4.5040
4Mar$3.90250
5Apr$4.8010
6May$4.10120
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Bạn mua cùng một mặt hàng trong năm đợt với giá khác nhau. Tính giá trung bình mỗi đơn vị, có trọng số theo số lượng của từng đợt. Viết công thức vào F2.

Những lỗi làm sai trung bình có trọng số

  • Lấy AVERAGE của các tích. =AVERAGE(D2:D5) trên một cột điểm × trọng số sẽ chia cho số hàng chứ không chia cho trọng số, và cho ra một số nhỏ vô nghĩa. Hãy chia SUM của các tích cho SUM của các trọng số.
  • Chia cho số lượng thay vì trọng số. =SUMPRODUCT(B2:B6,C2:C6)/COUNT(B2:B6) chỉ đúng khi mọi trọng số đều bằng 1.
  • Các vùng không thẳng hàng. =SUMPRODUCT(B2:B6,C3:C7) ghép mỗi giá trị với trọng số của hàng kế tiếp. Hai vùng phải bắt đầu và kết thúc ở cùng các hàng; khác kích thước sẽ trả về #VALUE!.
  • Trọng số để trống. Trọng số trống được tính là 0, nên hàng đó bị bỏ qua một cách âm thầm. Nếu thiếu trọng số thì cần dừng phép tính, hãy kiểm tra trước bằng =COUNTBLANK(C2:C6).
  • Lấy trung bình của các giá trị trung bình. Hai điểm trung bình lớp là 70 (10 học sinh) và 90 (30 học sinh) không cho trung bình 80. Tính trọng số theo sĩ số lớp thì kết quả là 85; trang AVERAGEIF có cùng cái bẫy này khi dùng điều kiện.

Câu hỏi thường gặp

Làm sao tính trung bình có trọng số trong Excel?

Dùng =SUMPRODUCT(B2:B5,C2:C5)/SUM(C2:C5), với giá trị ở cột B và trọng số ở cột C. SUMPRODUCT nhân mỗi giá trị với trọng số của nó rồi cộng các kết quả; chia cho tổng các trọng số sẽ biến tổng đó thành giá trị trung bình.

Tổng các trọng số có phải bằng 100% không?

Không, miễn là bạn chia cho SUM của các trọng số. Tín chỉ 3, 4, 2 và 1, hay trọng số 2, 1 và 1, đều dùng được theo cùng cách. Chỉ có cách viết tắt =SUMPRODUCT(B2:B5,C2:C5) không kèm phép chia mới đòi hỏi tổng trọng số đúng bằng 100%.

Excel có hàm WEIGHTED.AVERAGE không?

Không. Excel không có sẵn hàm tính trung bình có trọng số, nên kết hợp SUMPRODUCT và SUM là công thức chuẩn. Trong Google Sheets, AVERAGE.WEIGHTED(B2:B5,C2:C5) làm việc tương tự.

Làm sao tính trung bình có trọng số kèm điều kiện?

Thêm điều kiện vào SUMPRODUCT và dùng SUMIF cho các trọng số: =SUMPRODUCT((A2:A7="North")*B2:B7*C2:C7)/SUMIF(A2:A7,"North",C2:C7).

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu