Coalball Labs

How to Score a Likert Scale in Google Forms

Turn Google Forms Likert answers into a total score per person, including reverse-worded items, with an add-on or plain Sheets formulas.

Google Forms has no Likert question type, and it saves each answer as a label like "Agree", not a number. If you run a self-assessment, a team survey or a training evaluation, you usually want one number per person. This guide covers the setup, reverse-scored items, how to read the result, and a formula-only version.

Step 1: Build the scale as a multiple-choice grid

  1. Add a question and choose Multiple choice grid.
  2. Add each statement as a row.
  3. Add five columns: Strongly disagree, Disagree, Neutral, Agree, Strongly agree.
  4. Turn on Require a response in each row.

The last step matters for scoring. With both methods below, a skipped row scores 0 but still counts toward the maximum. That lowers the total for reasons that have nothing to do with the person's answers.

For a single statement, a Linear scale question from 1 to 5 works too. A grid keeps many statements on one screen with one set of labels.

Step 2: Put reverse-worded statements in their own grid

Good scales mix positive and negative wording, so people can't agree their way through. In a confidence scale, "I speak up in meetings" is positive. "I avoid giving my opinion" is reverse-worded: agreeing with it means lower confidence.

Reverse-worded statements need flipped points: Strongly agree is 1, Strongly disagree is 5. Grid points are set per column, so put reverse items in a second grid with the same five columns, directly after the first. Respondents see the same scale twice, and you get to set a second set of column points.

The example below uses 10 statements: 8 positive ones in grid A and 2 reverse-worded ones in grid B.

Step 3: Set the points

Here's the setup with Answer Points, a free Google Forms add-on we make at Coalball Labs.

  1. Install Answer Points. In your form, click the puzzle-piece Add-ons icon, then Answer Points > Set up scoring.
  2. For grid A, type 1, 2, 3, 4, 5 under the columns from Strongly disagree to Strongly agree.
  3. For grid B, type 5, 4, 3, 2, 1.
  4. Check Highest possible score: 5 × 8 rows + 5 × 2 rows = 50. Click Save points.
  5. Click Turn on auto-scoring. If people have already answered, click Score existing responses.

You type five numbers per grid, not one per statement, because column points apply to every row.

Each response becomes a row in the Scores sheet with Total, Max, Percent and one column per grid. Those grid columns are subtotals, which gives you a useful trick. Put each dimension of your assessment in its own grid, for example "Communication" and "Planning", and you get a subtotal per dimension. A dimension with reverse-worded items takes two grids, so add those two columns together on a second tab.

Step 4: Read the total and percent

Take a respondent whose grid A answers add up to 30 points and grid B answers add up to 8:

Watch the floor. With 1-to-5 points, the lowest possible total is 10, not 0. The least favorable answer on every statement still earns 20 percent, and Neutral on every statement earns 60 percent. So 50 percent isn't the middle of your scale.

Two ways to handle it:

=ARRAYFORMULA(IF(Scores!C2:C="", , Scores!C2:C / 10))

Keep your own formulas off the first tab. Score existing responses clears and rewrites it.

What counts as a high score? If you use a published questionnaire, score it exactly the way its scoring guide says and use its cut-offs. If you wrote the statements yourself, any bands you set (say, under 2.5 needs work, 2.5 to 3.5 is mixed, over 3.5 is strong) are your judgment, not a benchmark. Say so when you share results.

Formula alternative, no add-on

If you'd rather not install anything, you can score the grids in the linked spreadsheet.

1. Link a sheet. In the form's Responses tab, click Link to Sheets. In the Form Responses 1 tab, each grid row becomes its own column, titled like "Grid title [Statement]". In this example, column A is the timestamp, B to I are the eight grid A statements, and J to K are the two grid B statements. If your form collects email addresses, everything shifts one column to the right.

2. Add a tab named Scale.

A B C
1 Label Points Reverse points
2 Strongly disagree 1 5
3 Disagree 2 4
4 Neutral 3 3
5 Agree 4 2
6 Strongly agree 5 1

3. Add a tab named Likert. Type Total in A1 and Average in B1. Put this in A2:

=ARRAYFORMULA(IF('Form Responses 1'!A2:A="", , MMULT(IFERROR(VLOOKUP('Form Responses 1'!B2:I, Scale!A2:B6, 2, FALSE), 0), SEQUENCE(8, 1, 1, 0)) + MMULT(IFERROR(VLOOKUP('Form Responses 1'!J2:K, Scale!A2:C6, 3, FALSE), 0), SEQUENCE(2, 1, 1, 0))))

And this in B2:

=ARRAYFORMULA(IF(A2:A="", , A2:A / 10))

How the total works:

The labels in the Scale tab must match your grid columns exactly. If you add, remove or reorder statements, update the ranges. If you use Linear scale questions instead of grids, answers arrive as numbers, so you can skip the lookup and reverse an item with 6 minus the answer.

If your spreadsheet locale uses a comma as the decimal separator, use semicolons between arguments.

Which approach fits

Neither method shows respondents their score. Google doesn't let add-ons change what respondents see, so there's no result screen, and Answer Points can't send people to different sections based on their score. Scores stay in your Sheet. Emailing each respondent a result based on their score is planned for the Pro plan, which isn't available yet.

Score your survey

Answer Points is free during beta, with no response limit. Type five numbers per grid and get a total, max and percent for every response.

Install Answer Points free

More on how grids and linear scales are scored: Guide & FAQ.