DEV Community

Financely Templates
Financely Templates

Posted on

Build a GPA Calculator in Google Sheets (Plus the "What Do I Need on the Final?" Formula)

Most students only see their GPA when the transcript posts, which is too late to change anything. The math fits in a few cells, so you can track it all semester. Here's the whole setup.

Step 1: A grade scale lookup

Put your school's scale on a tab called Scale:

A: Letter B: Points
A 4.0
A- 3.7
B+ 3.3
B 3.0
B- 2.7
C+ 2.3
C 2.0
D 1.0
F 0

Check your catalog: some schools count A+ as 4.3 and some skip minus grades, so keep this editable.

Step 2: The class table

On a Semester tab:

A: Class B: Credits C: Letter D: Points
Biology 4 B+
Calculus 4 B
English 3 A
Psychology 3 A-

In D2, look up the points for each letter and fill down:

=IFERROR(VLOOKUP(C2, Scale!A:B, 2, FALSE), "")
Enter fullscreen mode Exit fullscreen mode

Add a dropdown on column C with Data > Data validation > Dropdown (from a range) pointing at Scale!A2:A so nobody types "b plus".

Step 3: Semester GPA in one formula

=SUMPRODUCT(B2:B20, D2:D20) / SUMIF(D2:D20, "<>", B2:B20)
Enter fullscreen mode Exit fullscreen mode

For the example above: quality points are 13.2 + 12.0 + 12.0 + 11.1 = 48.3 over 14 credits, so the GPA is 3.45. The SUMIF keeps classes without a grade yet from dragging the average down.

Cumulative GPA is the same formula across every semester's rows (or sum each semester's quality points and credits, then divide).

Step 4: "What do I need on the final?"

The question everyone googles at midnight. With your current grade in F2, the final's weight in G2 (as a decimal) and your target in H2:

=(H2 - F2 * (1 - G2)) / G2
Enter fullscreen mode Exit fullscreen mode

Example: you have 84% going into a final worth 30%. For a 90%: (90 - 84 x 0.7) / 0.3 = 104%, so an A is off the table. For an 80%: (80 - 58.8) / 0.3 = about 71%. Knowing that early tells you which class deserves your study time.

Wrap it so impossible targets are obvious:

=LET(n, (H2 - F2*(1-G2)) / G2, IF(n > 100, "Not reachable", IF(n <= 0, "Already safe", ROUND(n, 1) & "%")))
Enter fullscreen mode Exit fullscreen mode

Step 5: A deadline tracker next to your grades

GPA problems usually start as missed assignments, not bad exams. Add an Assignments tab with Class, Assignment, Due date (C), and a "Days left" column:

=IF(C2="", "", C2 - TODAY())
Enter fullscreen mode Exit fullscreen mode

Then Format > Conditional formatting: custom formula =AND($D2<>"", $D2<0) in red and =AND($D2>=0, $D2<=3) in yellow. Anything overdue or due soon jumps out.

Want it prebuilt?

I'm with Financely Templates, and we sell a ready-made version of this (GPA calculator with an editable scale, assignment tracker with Due soon and OVERDUE flags, weighted grade calculator, exam countdown and study schedule). If you'd rather start free:

Always check your school's official grading policy; a planning sheet isn't a transcript. Questions about the formulas? Drop them in the comments.

Top comments (0)