Statistical
GPA formula: calculate credit-weighted Grade Point Average
Map letter grades to 4.0 scale points with XLOOKUP and weight courses by credit hours with SUMPRODUCT(Credits, Points) / SUM(Credits).
Why unweighted AVERAGE misstates academic GPA
A 4-credit Calculus course carries four times the GPA weight of a 1-credit Lab. Simple AVERAGE treats both courses equally—inflating or deflating cumulative GPA whenever credit hours differ.
Dividing SUMPRODUCT(Credits, GradePoints) by SUM(Credits) computes exact quality points divided by attempted credits (43.1 / 12 = 3.59).
| Course (A) | Credits (B) | GradePoints (C) | Quality Points (B*C) |
|---|---|---|---|
| Calculus | 4 | 4 | 16.0 |
| Physics | 4 | 3 | 12.0 |
| Writing | 3 | 3.7 | 11.1 |
| Lab | 1 | 4 | 4.0 |
Credit-weighted GPA and letter-grade lookup
Pair a letter-grade scale (D2:E5) with XLOOKUP when raw transcripts store "A", "A-", "B+", and "B" strings instead of numbers.
=IF(SUM(B2:B5)=0, "No eligible credits", ROUND(SUMPRODUCT(B2:B5, C2:C5) / SUM(B2:B5), 2))Compare unweighted average and letter lookup
Unweighted AVERAGE(C2:C5) overstates GPA at 3.68 because the 1-credit 4.0 Lab gets equal weight.
=ROUND(AVERAGE(C2:C5), 2)Inputs and interpretation
This is an illustrative grade scale. Use your institution’s rules for repeated courses, pass/fail, excluded credits, and rounding. Include only eligible courses with numeric nonnegative credits and a valid numeric grade point on every included row. Zero total eligible credits gives an undefined GPA, not a zero grade.
Try the example
Use the original values or change them to test your understanding.