56 free macros indexedAll toolsHow to runBlogGitHub ↗

Letter Grade From Numeric Scores

Convert a column of numeric scores into letter grades using a configurable A/B/C/D scale

windows · mac · Excel 2016+ · Free


What it does

Takes a column of numeric scores and writes the letter grade (A/B/C/D/F) into the cell to the right. The cutoffs are configurable, so the standard 90/80/70/60 scale is the default but any four-cutoff scheme works. The output is plain text, no formulas, so you can copy, sort, or paste anywhere without breaking.

Real-world example

A high school chemistry teacher has 4 sections, 32 students each. Every two weeks: a quiz, a homework set, a lab report. By midterms she's got 12 columns of numeric scores per section. Her admin wants letter grades on the report card column for every assignment, on a scale where A is 93+, B is 85+, C is 77+, D is 70+ (the school's stricter scale, not the standard 90/80/70/60).

The IF chain works: =IF(A2>=93,"A",IF(A2>=85,"B",IF(A2>=77,"C",IF(A2>=70,"D","F")))). But she has 12 columns of scores. Twelve formulas to copy and paste, twelve columns to fill down, and if the school changes the scale next semester (the principal hinted at it), it's twelve formulas to edit. Plus the formulas live in the spreadsheet forever, so when she emails the gradebook to a parent, the parent sees a 60-character formula in the grade column and asks why.

With this macro, she selects each score column, runs LetterGradeFromScores, types the school's cutoffs once: 93,85,77,70, and the column to the right fills with plain letter grades. No formula, no helper column, no chance the parent asks about it. Twelve columns done in two minutes.

Realistic time saved per semester: about 30 minutes, plus the peace of mind that comes from grades being plain text values. The bigger benefit shows up at year-end when the principal finally does change the scale and she can re-run on the master gradebook in five minutes.

How to use

First time? See How to run our tools for the 30-second setup.

  1. Paste your gradebook into the workbook.
  2. Select a single column of numeric scores. Header row included is fine, the macro skips non-numeric cells.
  3. Press Alt + F8 / Option + F8, pick LetterGradeFromScores, click Run.
  4. Confirm the cutoffs (default 90,80,70,60) or enter your own (e.g. 93,85,77,70 for stricter grading).
  5. The macro fills the column to the right with letter grades, one per numeric score.

FAQ

Can I customize beyond A/B/C/D/F?

This version supports five buckets only. For plus/minus grading or 7-bucket scales, edit the .bas source. The logic is one If/ElseIf chain that's easy to extend. The .bas file lives next to the .xlsm in our public repo, so you can audit and modify it freely.

What if my scores are out of 50 instead of 100?

Either convert them first (multiply by 2 for percentages), or pass thresholds appropriate to your scale. For an out-of-50 system: 45,40,35,30.

Will it overwrite the column to the right?

Yes. Whatever's there gets replaced for each numeric cell in the selection. Save important data elsewhere first, or insert a blank column to the right before running.

How do I undo it?

Ctrl/Cmd + Z in Excel, immediately after running.

Does it round?

No. 89.5 with the default scale becomes a B, because 89.5 is below 90. If you want 89.5 to round up to A, round your scores first (use =ROUND(A2,0) in a helper column).

Did this tool work for you?

One click. We use this to fix tools that don't work and prioritize what to build next.

Related tools