Marks — grade book

Pro workbook: Grades, Report, Assessments, Setup, Formulas. Sample data, real formulas.

Grade book
Students down, assessments across. Max points and weights in the two rows above; % and letter grades follow.
Max points205010010020100
Weight %10%10%20%25%10%25%100%← should be 100 %
StudentQuiz 1Homework 1Test 1ProjectQuiz 2FinalWeighted %LetterDoneLetterStudents
Ana Costa18468892179089.8%A6A4
Ben Okafor14387180137473.8%B6B2
Dana Ruiz123058656155.1%D5C2
Elif Kaya20509597199696.8%A6D1
Finn Walsh9254452114949.0%F6F1
Gia Moretti16417984158281.0%B6
Hugo Lind156670146862.2%C5
Ida Berg17448388188786.7%A6
Jon Park11336258126060.0%C6
Kate Novak19489189209392.8%A6
Report
One line per student: overall %, letter, rank in class, assessments done and missing, best and weakest.
StudentWeighted %LetterRankDoneMissingBest %Weakest %
Ana Costa89.8%A3692%85%
Ben Okafor73.8%B6680%65%
Dana Ruiz55.1%D95165%
Elif Kaya96.8%A16100%95%
Finn Walsh49.0%F10655%44%
Gia Moretti81.0%B5684%75%
Hugo Lind62.2%C75175%
Ida Berg86.7%A4690%83%
Jon Park60.0%C8666%55%
Kate Novak92.8%A26100%89%
Assessments
How each assessment went: class average as a % of max, median, high, low, how many did it.
AssessmentMaxWeightAverage %Median %HighLowDoneMissing
Quiz 12010%75.5%77.5%20910
Homework 15010%78.9%82.0%502591
Test 110020%73.7%75.0%954410
Project10025%77.5%82.0%975210
Quiz 22010%77.2%75.0%201191
Final10025%76.0%78.0%964910
HardestTest 1
EasiestHomework 1
Class weighted average74.7%
Setup
Assessment names, and the grade bands.
AssessmentFrom %Letter
Quiz 10F
Homework 150D
Test 160C
Project70B
Quiz 285A
Final
Bands must be ascending: the letter is the last threshold the % reaches (MATCH with type 1). Six assessments — the columns on Grades; max points and weights are on that sheet.
How the formulas work
Every formula in this workbook, in plain words. Nothing is hidden and nothing needs a macro. Formulas are shown without the leading = sign.
WhereFormulaWhat it does
Grades · Weighted %SUMPRODUCT(B8:G8/$B$5:$G$5,$B$6:$G$6)/SUM($B$6:$G$6)Each score as a share of its max, times its weight, added up, over the total weight. A blank score is a zero — not submitted.
Grades · LetterINDEX(band_letters,MATCH(H8*100,band_min,1))MATCH type 1 on ascending thresholds returns the last band the % reaches — the standard way to do grade bands without nested IFs.
Grades · Missing (per assessment)COUNTA($A$8:$A$47)-COUNT(B8:B47)Students minus scores entered.
Report · RankCOUNTIF(Grades!$H$8:$H$47,">"&B5)+1How many have a higher % plus one. Ties share a rank.
Report · Best %SUMPRODUCT(MAX(Grades!B8:G8/Grades!$B$5:$G$5))Highest score-over-max across the row. Wrapped in SUMPRODUCT so the division runs over the whole row without array entry — a bare MAX(range/range) silently takes only the first cell in Excel 2016 and LibreOffice. MIN the same way for the weakest.
Assessments · Average %AVERAGE(Grades!B8:B47)/B5Class average over the max — comparable across assessments with different totals.
Assessments · HardestINDEX(A5:A10,MATCH(MIN(D5:D10),D5:D10,0))The assessment with the lowest average %.