Expert guide

Analyze Customer Feedback in Excel with AI

Sentiment is the easy part. Themes are what tell you what to fix.

Short answer: put every comment in an Excel Table, build a fixed list of 8 to 15 themes from a sample, then have an AI model return a sentiment label, up to two themes and a one-line summary for each comment. A PivotTable of negative comments by theme shows exactly where customers are unhappy. Lock the theme list so months are comparable, and automate the monthly run with AI workflow automation.

Most businesses collect more feedback than they read: post-purchase surveys, Google reviews, support ticket notes, NPS comments, exit interviews. The scores get charted; the comments sit in a column nobody has time to go through. Yet the comments are where the reasons live. AI can read every one of them and turn them into numbers you can pivot, without a separate text analytics platform.

Step 1: Collect Feedback Into One Table

Create an Excel Table with one row per comment and these columns: ID, Date, Source (survey, Google, support), Score (if any), Customer segment or location, and Comment. Keep personal details out of this table where possible; you do not need names to analyse themes.

Step 2: Build a Theme List From a Sample

Take 150 to 200 random comments and run a one-time discovery prompt.

Below are customer comments for a [type of business].
Propose 8–15 themes that together cover at least 90% of them.
For each theme give: name (2–3 words), one-line definition,
and two example comments. Themes must not overlap.
Add "Other" for anything that does not fit.

Edit the result with someone who knows the business. A restaurant might end up with Food quality, Wait time, Staff friendliness, Price and value, Cleanliness, Booking and ordering, Atmosphere, and Other. Write the final list into a Themes table and do not change it lightly.

Step 3: Classify Every Comment

Classify the customer comment.
Themes (choose up to 2, exact names): Food quality; Wait time;
Staff friendliness; Price and value; Cleanliness;
Booking and ordering; Atmosphere; Other.
Return exactly:
sentiment | theme 1 | theme 2 | summary (max 12 words)
sentiment is one of: positive, neutral, negative, mixed.
If the comment mentions both praise and a complaint, use "mixed"
and put the complaint's theme first.

Comment: "Food was great as always but we waited 40 minutes for mains."

Expected answer: mixed | Wait time | Food quality | Great food but 40-minute wait for mains. Putting the complaint's theme first matters: it is what the operations team needs to see.

Which tool to run it with

ToolBest forWatch out for
Copilot in ExcelUp to a few hundred comments in a tableInconsistent labels across runs; paste the theme list into every prompt
ChatGPT / Claude (paste in batches)One-off analysis of 500–2,000 commentsManual copy and paste; easy to misalign rows
VBA or Office Scripts + APIThousands of comments, repeat monthlyNeeds key management and error handling
Python in ExcelAnalysts comfortable with pandasNo external API calls from the cloud runtime

For the API route, adapt the code in calling the OpenAI API from Excel VBA and split the pipe-separated answer into columns with TEXTSPLIT.

Step 4: Turn Labels Into Insight

  • Negative share by theme

    PivotTable: Rows = Theme 1, Columns = Sentiment, Values = Count of ID, shown as % of row total.

  • Theme trend by month

    Rows = Month, Columns = Theme 1, filtered to negative. A rising line is an early warning.

  • Theme by location or segment

    One branch with twice the Wait time complaints is a staffing problem, not a menu problem.

  • Score vs theme

    Average score per theme shows which issues actually drive low ratings.

Add a slicer for Source and Month and you have a feedback dashboard that managers can use in a weekly meeting.

Keep the Analysis Honest

  • Read 30 random classified comments every month and note any wrong labels.

  • Track the share of Other. If it creeps above 10 percent, a new theme is emerging.

  • Never report AI summaries as quotes; link back to the original comment ID.

  • Do not compare months classified with different theme lists.

  • Small numbers are noisy: 3 negative comments out of 12 is not a trend.

Industry Examples

IndustryTypical themesWhat the analysis usually reveals
Clinics and dental officesScheduling, Wait time, Billing, Staff, Treatment explanationBilling confusion drives more negative reviews than clinical care
Home services (HVAC, plumbing)Arrival window, Price, Technician, Follow-up, CleanlinessMissed arrival windows outweigh price complaints
E-commerceDelivery, Packaging, Product accuracy, Returns, SupportProduct-description mismatches cause most returns
B2B servicesCommunication, Turnaround, Quality, Invoicing, Account managerInvoicing errors erode otherwise good relationships

Clinics using this alongside a no-show tracker get a much clearer picture of patient experience; see our guide to tracking clinic no-shows in Excel.

Automating the Monthly Run

The manual version works. The automated version gets used. We connect survey and review sources, classify new comments as they arrive, and refresh an Excel or Power BI dashboard so managers see this week's themes on Monday morning, with every label traceable to the original comment.

FAQ

Customer feedback analysis FAQ

Sentiment, themes and automation in Excel

Excel has no built-in sentiment function. The practical options are Copilot in Excel for small tables, an AI model called from VBA or Office Scripts for larger sets, or Python in Excel with a text model. In all cases, ask for a fixed label (positive, neutral, negative) and a short reason so results can be filtered and checked.

Not very. Knowing that 22 percent of comments are negative does not tell you what to fix. Tag each comment with one or two themes from a fixed list, such as delivery, price, product quality or staff, and analyse sentiment by theme. That shows where the negative feedback comes from.

Copilot handles a few hundred rows comfortably. With an API call per row, tens of thousands are practical; cost depends on comment length and the model. Batch comments, keep the prompt short, and skip rows already processed.

Give it a closed list of themes with one-line definitions and an 'Other' option. Run a discovery pass once on a sample to build the list, then lock it. Free-form theming on every run produces slightly different labels each time, which makes month-to-month comparisons meaningless.

Yes. Survey tools such as Microsoft Forms, Google Forms, Typeform and most review platforms can export or push responses. An automation can pick up new responses, classify them, and refresh a dashboard daily or weekly without anyone opening the file.