How to Analyze Survey Results in Excel (Forms, Typeform, NPS)
Analyze Google Forms, Typeform and SurveyMonkey exports: multi-select cells, Likert scales, open-text answers, cross-tabs and NPS, step by step.
7 min read · Updated September 24, 2026
Have your survey export open?Ask it directly →
Survey tools are good at the summary page: a bar chart per question, response counts, maybe a word cloud. They're much weaker at the questions that actually drive decisions — do customers on the annual plan answer differently from monthly ones, did satisfaction drop after the redesign, what do detractors complain about. For that you need the raw responses in a spreadsheet. Every major tool exports them, but each lays the file out differently, and the layout decides how hard your analysis will be. This guide covers the exports, the shape of the data, and how to handle multi-select answers, rating scales, open text, cross-tabs and NPS.
Getting the export
- Google Forms: in the Responses tab, either link the form to a Google Sheet (every new response appears as a row) or use the menu to download responses as a CSV. Linked sheets can be downloaded as .xlsx from Sheets.
- Typeform: open the form's Results → Responses, select the responses you want, and export to CSV or Excel.
- SurveyMonkey: from Analyze Results, export all individual responses as an Excel (XLS) file. You choose between condensed and expanded columns, and between actual answer text and numerical values.
For analysis, choose individual responses, not the summary export. The summary is already aggregated and can't be cross-tabbed.
The shape: one row per response
All three tools produce the same basic shape: one row per respondent, one column per question, plus metadata columns such as a timestamp, a response ID, and sometimes hidden fields you passed in through the link (plan, country, source). This is ideal — it's already a flat table. The differences are in how they handle questions that don't fit in one cell.
What's our NPS? Treat 9–10 as promoters, 7–8 as passives and 0–6 as detractors.
NPS is 26. Of 400 responses to the recommend question:
- Promoters (9–10): 192 — 48%
- Passives (7–8): 120 — 30%
- Detractors (0–6): 88 — 22%
48% promoters minus 22% detractors gives 26.
Trap 1: multi-select answers
"Select all that apply" questions are where the three tools differ most.
- Google Forms puts every selected option into one cell, joined with commas:
Email, Live chat, Phone. That makes counting each option harder — a plain COUNTIF on "Email" misses every cell with more than one answer. Count with a wildcard,=COUNTIF(C:C, "*Email*"), or split the cell into separate columns with Data → Text to Columns using comma as the delimiter. Watch out for options that contain commas themselves, and for the Other option, which puts free text into the same cell. - Typeform does the opposite: each option of a multiple-selection question gets its own column, filled when chosen and blank when not. Counting an option is just counting non-blank cells in its column.
- SurveyMonkey depends on your export choice. Condensed puts only the chosen answers in the question's column; expanded gives every answer choice its own column. Expanded exports commonly carry the answer-option labels on a second header row under the question text — merge the two rows into one header (e.g. Q5 – Email) before analysis, or a pivot will treat the second row as a response.
Whichever layout you get, be clear about the denominator: "42% chose Email" should mean 42% of people who answered the question, not 42% of all selections.
Trap 2: Likert scales stored as text
A satisfaction question exported as text — Very dissatisfied … Very satisfied — can be counted but not averaged. Sorting it alphabetically also scrambles the order. Two fixes:
- Export numerical values if the tool offers it (SurveyMonkey does), or
- Add a helper column mapping each label to a number with a small lookup table: Very dissatisfied = 1 through Very satisfied = 5.
Then report both: the distribution (how many chose each point) and a summary. The mean of a Likert scale is useful for tracking change over time, but the distribution is more honest — an average of 3 can mean everyone is neutral or half love it and half hate it. A common summary is top-2-box: the share choosing the two most positive options.
Trap 3: open-text answers
Free-text columns are the most valuable and the hardest to count. A workable approach in a spreadsheet:
- Skim 50 or so answers and write down the themes you see (price, onboarding, support speed, missing feature).
- Add a Theme column and tag each answer — one theme, or a few columns of yes/no flags if answers mention several.
- Count themes, then cross-tab them against a rating question: what do the least satisfied respondents talk about?
Keyword counts (=COUNTIF(F:F, "*price*")) are a fast first pass but miss synonyms and misspellings, so treat them as a sketch.
Cross-tabs: the real value
A cross-tab splits one question's answers by another: satisfaction by plan, feature requests by company size, NPS by country. In Excel it's a pivot table with one question in Rows, another in Columns, and a count of response ID in Values — then Show Values As → % of Row Total so groups of different sizes compare fairly. The pivot table tutorial walks through the mechanics.
Two cautions. First, check the group sizes before reading anything into a difference — a segment with twelve responses will swing wildly. Second, the more cross-tabs you run, the more likely one looks interesting by chance. Decide the few comparisons that matter before you start.
Calculating NPS
Net Promoter Score uses the 0–10 "how likely are you to recommend" question:
- Promoters answered 9 or 10
- Passives answered 7 or 8
- Detractors answered 0 to 6
NPS = % promoters − % detractors, a number from −100 to 100. In Excel:
=(COUNTIF(D:D,">=9") - COUNTIF(D:D,"<=6")) / COUNT(D:D) * 100
Use COUNT, not COUNTA, for the denominator so blank and non-numeric cells are left out. Then do the useful part: NPS by segment, NPS by month, and what detractors wrote in the follow-up text question.
The questions worth asking
- Response count by day or week — did one email blast drive most responses?
- Distribution for each rating question, plus top-2-box.
- Each multi-select option's share of respondents who answered.
- NPS overall and by segment (plan, country, tenure).
- Cross-tab of the key rating by each demographic question.
- Themes in open-text answers, split by promoters vs detractors.
- Change since the last wave, if you run the survey regularly — stack both exports with a Wave column.
Asking in plain English
Upload the export to ChatExcel and ask the questions directly instead of building each pivot. It reads every sheet, computes answers from the full set of responses, and can chart any result as a bar, line or pie chart:
- "What's our NPS overall and by plan? Scores of 9–10 are promoters and 0–6 are detractors."
- "The 'Which channels do you use' column has several answers separated by commas — count how many respondents chose each one."
- "Group the open-text answers from detractors into themes and count them."
Survey responses are often multilingual; ChatExcel answers in 15+ languages, so you can ask in the language your team works in. For responses collected in a linked Google Sheet, see analyzing Google Sheets with AI.
Before you share results
Report the number of responses behind every percentage, say which responses were excluded (incomplete, test, duplicates), and keep the exact question wording next to the chart. A result without its base size and wording is easy to misread.
- How do I count checkbox answers from Google Forms in Excel?
- Google Forms puts all selected options in one cell separated by commas. Use a wildcard COUNTIF such as =COUNTIF(C:C,"*Email*") for each option, or split the cell into columns with Text to Columns.
- How do I calculate NPS from survey results?
- Count responses of 9–10 as promoters and 0–6 as detractors on the 0–10 recommend question. NPS is the percentage of promoters minus the percentage of detractors, ranging from −100 to 100.
- Should I average Likert scale answers?
- An average is useful for tracking change over time, but always show the distribution too. The same average can hide very different patterns, so top-2-box plus the full distribution is more informative.
- What's a cross-tab in survey analysis?
- A table that splits one question's answers by another, such as satisfaction by plan. In Excel, build it with a pivot table and show values as a percentage of the row total so groups compare fairly.