Analistable

Student grades roll-up template

By the Analistable team · Updated · 3 min read

The workbook has a Students roster, a Marks sheet where every assessment score is one row, and a Summary that totals score and maximum per student with SUMIFS, works out a percentage and flags missing assessments. Paste your roster and marks in, and the Summary updates.

Part of our guide: How to consolidate data in Excel

What the template does

Teachers usually keep one sheet per test or assignment. That is fine for marking, but a report needs one line per student with everything added up. This template replaces the per-assessment sheets with one long Marks table (student, assessment, score, maximum) and rolls it up with formulas, so adding a new assessment is just more rows, not a new column or a new sheet.

It is a small, practical case of the approach in the consolidating data in Excel guide: stack the detail, then summarise it.

Sheet-by-sheet guide

Sheets in student-grades-roll-up-template.xlsx
SheetColumnsYou fill in?
InstructionsStep, What to doNo
StudentsStudent ID, Name, ClassYes
MarksStudent ID, Assessment, Score, Max scoreYes
SummaryStudent ID, Name, Total score, Total max, Percent, Assessments, StatusNo (formulas)

How to fill it in

  1. Replace the sample roster on Students with your class list. Keep the Student ID unique.
  2. On Marks, add one row per student per assessment. If you export marks from a gradebook with one column per test, unpivot it first (see unpivoting wide reports).
  3. Extend the Summary formulas down if you have more students than the sample, and change the 3 in the Status formula to the number of assessments you expect.

How the formulas work

Total score and total possible marks are conditional sums over the Marks sheet:

=SUMIFS(Marks!$C$2:$C$200,Marks!$A$2:$A$200,A2)
=SUMIFS(Marks!$D$2:$D$200,Marks!$A$2:$A$200,A2)

Because the maximum is summed only over assessments the student actually has, a missing piece of work does not drag the percentage down; it is flagged instead:

=IFERROR(ROUND(C2/D2*100,1),0)
=IF(F2<3,"Missing "&(3-F2),"Complete")

The same SUMIFS pattern works across separate sheets too, described in SUMIFS across multiple sheets.

Worked example

The sample has three assessments (Test 1 out of 50, Essay out of 30, Final out of 100). Ella has no Final mark yet:

Summary sheet with the sample data
StudentTotal scoreTotal maxPercentAssessmentsStatus
Ava Patel14718081.73Complete
Ben Okafor117180653Complete
Chloe Li16418091.13Complete
Dan Novak9518052.83Complete
Ella Reyes628077.52Missing 1

If you want weighted grades (for example Final = 60%), add a Weight column to Marks and sum Score/Max × Weight instead of raw marks.

Limits and when to move on

  • Student IDs must match exactly between Students and Marks; a stray space makes SUMIFS return 0.
  • The template rolls up one class or year group. For several teachers' workbooks, stack their Marks sheets first, or match grades and attendance across files.
  • If you want to ask questions such as which students dropped more than 10 points between tests across many files, load them into Analistable and ask in plain English; files stay in your browser.

Frequently asked questions

Does this work in Google Sheets?
Yes. Upload the .xlsx to Google Drive and open it with Google Sheets; SUMIFS, COUNTIFS, ROUND and IFERROR behave the same.
Why is a missing mark not counted as zero?
Because a missing mark is often work not yet handed in or marked. The Status column flags it so you can decide; to count it as zero, add a Marks row with score 0.
Can I add more assessments?
Yes. Add rows to Marks with the new assessment name and maximum, then update the expected count in the Status formula.

Related guides