Kano Analysis in Excel and Google Sheets: Formulas and Chart

8 min read ยท 2026-10-10

To run a Kano analysis in Excel or Google Sheets, you need four tabs and three formulas. The raw survey export goes in one tab. The evaluation grid becomes a lookup table, and one INDEX MATCH formula turns each answer pair into a category. COUNTIF then tallies the categories, and two short formulas give you the better and worse scores for the chart.

This guide only covers the spreadsheet part. If you need a refresher on the five categories, or on how to plan and run the survey, read our guide to the Kano model for product prioritization first. Here we start with the export and finish with roadmap decisions.

The roadmap at a glance

Goal: Turn raw Kano survey answers into a category, a better score and a worse score for each feature, then use them to decide what goes on the roadmap. Duration: About one week of analysis after the survey closes

  1. Prepare the Export (Day 1)

    Get clean answers into one sheet before you write any formula.

    • Export the answers with one row per respondent.
    • Put the functional and dysfunctional answers for each feature in two columns side by side.
    • Check that every answer uses the exact wording of the five options, with no extra spaces.
    • Keep a segment column so you can filter by user group later.

    Milestone: A "Raw" tab where each feature has a clean pair of answer columns.

  2. Build the Grid and Classify (Day 2)

    Make the spreadsheet do the classification for you.

    • Create a "Grid" tab with the evaluation grid as a 5 by 5 lookup table.
    • Create a "Categories" tab with one column per feature.
    • Write one INDEX MATCH formula per feature column and fill it down.
    • Spot check ten rows by hand against the grid.

    Milestone: Every answer pair shows a category, and the hand checks all match.

  3. Count and Score (Day 3)

    Turn categories into numbers you can compare.

    • Count each category per feature with COUNTIF.
    • Find the most common category for each feature.
    • Calculate the better and worse scores.
    • Repeat the counts for each segment if you have more than one.

    Milestone: A "Summary" tab with one row per feature, its main category and its two scores.

  4. Chart and Decide (Days 4-5)

    Make the results easy to read and act on.

    • Build a scatter chart from the two scores.
    • Group features into must-be gaps, performance bets, delighters and backlog cuts.
    • Write a one-page summary and update the roadmap.

    Milestone: A shared chart, a summary and an updated roadmap with the study date on it.

A Worked Example: Four Features for an Invoicing SaaS

Here is a fictional invoicing tool with four features to test. Each feature gets one functional question and one dysfunctional question. The answer pair shown for each feature is an example of a single respondent. It is not real data.

Notice that each question describes something a user can picture. "Search results appear as you type" works better than "faster search indexing".

  • PDF export: functional question "If you could export any invoice as a PDF, how would you feel?", dysfunctional question "If you could not export invoices as PDFs, how would you feel?" Example answer pair: I expect it / I dislike it. Category: Must-be.
  • Instant invoice search: functional question "If search results appeared as you type, how would you feel?", dysfunctional question "If search results did not appear as you type, how would you feel?" Example answer pair: I like it / I dislike it. Category: Performance.
  • Automatic payment reminders: functional question "If the tool emailed late payers a reminder for you, how would you feel?", dysfunctional question "If the tool did not send reminders for you, how would you feel?" Example answer pair: I like it / I am neutral. Category: Attractive.
  • Dark mode in the editor: functional question "If the invoice editor had a dark mode, how would you feel?", dysfunctional question "If the invoice editor had no dark mode, how would you feel?" Example answer pair: I am neutral / I am neutral. Category: Indifferent.

Example: One Feature Across Six Respondents

The list below shows fictional answers from six respondents for automatic payment reminders, written as functional answer / dysfunctional answer, then category. Six answers are far too few for a real study. The point is to show how each row becomes a category and how the scores follow.

Counts: Attractive 3, Performance 1, Must-be 0, Indifferent 1. The questionable answer is left out. Better = (3 + 1) / (3 + 1 + 0 + 1) = 0.8. Worse = (1 + 0) / 5 = 0.2, shown as minus 0.2.

In this example, reminders lift satisfaction a lot when present and hurt little when missing. That is the profile of a delighter.

  • Respondent 1: I like it / I am neutral, Attractive.
  • Respondent 2: I like it / I can live with it, Attractive.
  • Respondent 3: I like it / I dislike it, Performance.
  • Respondent 4: I am neutral / I am neutral, Indifferent.
  • Respondent 5: I like it / I expect it, Attractive.
  • Respondent 6: I like it / I like it, Questionable.

The Spreadsheet Setup, Tab by Tab

Tab 1, Raw: column A holds the respondent ID and column B the segment. Then each feature takes two columns: functional in C, dysfunctional in D for feature 1, then E and F for feature 2, and so on. Leave the header row with clear names such as "PDF export F" and "PDF export D".

Tab 2, Grid: type the five answers in B1 to F1 (dysfunctional answers) and in A2 to A6 (functional answers), in this order: I like it, I expect it, I am neutral, I can live with it, I dislike it. Then fill the grid row by row as below. Each row starts with the functional answer and reads across the dysfunctional answers in the same order.

  • I like it: Questionable, Attractive, Attractive, Attractive, Performance.
  • I expect it: Reverse, Indifferent, Indifferent, Indifferent, Must-be.
  • I am neutral: Reverse, Indifferent, Indifferent, Indifferent, Must-be.
  • I can live with it: Reverse, Indifferent, Indifferent, Indifferent, Must-be.
  • I dislike it: Reverse, Reverse, Reverse, Reverse, Questionable.

Tab 3: Categories, One Formula per Feature

Column A repeats the respondent ID. Column B is feature 1, column C is feature 2, and so on. In B2, write this formula:

=IFERROR(INDEX(Grid!$B$2:$F$6, MATCH(Raw!C2, Grid!$A$2:$A$6, 0), MATCH(Raw!D2, Grid!$B$1:$F$1, 0)), "")

The first MATCH finds the row of the functional answer. The second finds the column of the dysfunctional answer. INDEX returns the category where they cross. IFERROR leaves the cell blank if someone skipped a question.

Fill the formula down. For feature 2 in column C, point it at Raw!E2 and Raw!F2. Because each feature uses two raw columns, write the formula once per feature column rather than dragging it right. The same formula works in Excel and Google Sheets.

Formulas to Count Categories and Score Better and Worse

Tab 4, Summary: put feature names in column A, starting at A2. Put the category names in B1 to G1: Attractive, Performance, Must-be, Indifferent, Reverse, Questionable. In B2, write:

=COUNTIF(INDEX(Categories!$B$2:$Z$1000, 0, ROW()-1), B$1)

INDEX with 0 as the row picks the whole column of the feature on that row. Fill the formula right to G and down to your last feature. Then add three columns for the main category, the better score and the worse score, using the formulas listed below.

Better runs from 0 to 1 and shows how much having the feature lifts satisfaction. Worse runs from 0 to minus 1 and shows how much leaving it out hurts. Reverse and questionable answers stay out of both.

If two categories in a row are almost tied, filter the Raw tab by segment and recount. Two user groups often see the same feature very differently.

  • Main category in H2: =INDEX($B$1:$F$1, MATCH(MAX(B2:F2), B2:F2, 0))
  • Better in I2: =(B2+C2)/(B2+C2+D2+E2)
  • Worse in J2: =-(C2+D2)/(B2+C2+D2+E2)

How to Read the Kano Chart

Select the Worse and Better columns and insert a scatter chart. Put the absolute value of the worse score on the horizontal axis (use =ABS(J2) in a helper column) and the better score on the vertical axis. Add the feature names as data labels.

A common convention is to draw a line at 0.5 on each axis. That gives the four zones listed below. Then turn each zone into roadmap items.

For help structuring the result, see our guides on how to make a roadmap and on the B2B SaaS product roadmap. Kano says nothing about effort, so many teams pair it with an effort score such as RICE before final ordering.

  • High worse, low better: must-be. Fix these first.
  • High worse, high better: performance. Invest where it links to your main goal.
  • Low worse, high better: attractive. Add one or two per release.
  • Low worse, low better: indifferent. Pause or cut them, and write down why.

Common mistakes to avoid

  • Answer labels that do not match the grid. "I expect it " with a trailing space breaks MATCH. Use find and replace, or wrap the raw cell in TRIM.
  • Dragging the category formula right. It shifts by one column, but each feature uses two. Write it once per feature.
  • Counting questionable answers. Leave them out of the better and worse formulas.
  • Reading only the main category. A feature at "Attractive 40, Performance 38" needs a segment check, not a quick label.
  • Forgetting the date. Categories change over time. Note the survey date on the chart and on the roadmap, and plan a rerun. Our guide on how often to update your roadmap helps you pick a rhythm.

Frequently asked questions

Do the same Kano formulas work in Excel and Google Sheets?

Yes. INDEX, MATCH, COUNTIF, IFERROR and ABS behave the same way in both. The only difference is the menu path for inserting the scatter chart and adding data labels.

Why does my category formula return a blank cell?

Usually the answer text does not match the grid exactly. Check for extra spaces, different capitals in a custom export, or a skipped question. Remove the IFERROR for a moment to see the real error.

Should I use the most common category or the better and worse scores?

Use both. The most common category tells you what type the feature is. The two scores rank features inside the same category and feed the chart.

How do I compare segments in the spreadsheet?

Filter the Raw tab by the segment column, or copy the Summary tab and change COUNTIF to COUNTIFS with a segment condition. Then compare the main category and scores side by side.

Can I reuse the spreadsheet for the next study?

Yes. Keep the Grid tab as it is, paste the new export into Raw, and update the feature names in Summary. Save each study as a separate copy so you can see how categories move over time.

Generate this roadmap with AI