Graph My Keywords
Home / Guides / Keyword grouping in Excel

Keyword grouping in Excel

Four formulas that genuinely group a keyword list in Excel or Google Sheets, the pivot table that summarises them, and an honest account of the point where a spreadsheet stops being the right tool.

Updated 28 August 2026·10 min read

Most articles about grouping keywords in Excel are an advert with a formula bolted on. This one is the other way round: the formulas are real and they work, and the limitation at the end is real too. If you have a few hundred keywords and a tag list you already understand, a spreadsheet is the correct answer and you should not download anything.

The setup this guide assumes

Column A holds your keywords starting at A2, column B holds monthly volume. A second sheet named Groups holds your group names in A2:A60. Every formula below is written for Excel 365 and works unchanged in Google Sheets unless noted.

Method 1 — Tag keywords against a group list

This is the keyword grouper most people actually want. You write the group names once, and every keyword gets labelled with each group name it contains.

On the Groups sheet, list your groups one per row: espresso, cold brew, grinder, price, vs, recipe. Then in C2:

=TEXTJOIN(", ", TRUE, IF(ISNUMBER(SEARCH(Groups!$A$2:$A$60, A2)), Groups!$A$2:$A$60, ""))

Fill it down. Each keyword now carries every group name found inside it, comma separated. SEARCH is case-insensitive, which is what you want, and the IF over a range spills automatically in Excel 365 and Sheets — no Ctrl+Shift+Enter needed. On Excel 2019 or older, confirm the formula with Ctrl+Shift+Enter.

Two refinements worth making immediately:

Method 2 — Let the data suggest the groups

Writing the group list from memory is how you end up with an UNGROUPED pile of four hundred rows. Better to read the groups out of the keywords first. This counts every word in the list by frequency:

=LET(
   words, TOCOL(TEXTSPLIT(TEXTJOIN(" ", TRUE, A2:A2000), " "), 3),
   uniq,  UNIQUE(words),
   SORT(HSTACK(uniq, COUNTIF(words, uniq)), 2, -1)
 )

In Google Sheets, use this instead:

=SORT(
   QUERY(FLATTEN(SPLIT(A2:A2000, " ")),
         "select Col1, count(Col1) where Col1 is not null group by Col1", 0),
   2, FALSE)

The top thirty rows of that output, minus the stop words, are your group list. Paste them into the Groups sheet and go back to method 1. Doing it in this order takes about ten minutes and produces a far better tag list than guessing does.

Two-word phrases group better than single words. To count those, add a helper column of bigrams with =TEXTBEFORE(A2," ",2) and run the same frequency count over it.

Method 3 — Bucket by search intent

Intent is the one grouping a spreadsheet does almost as well as anything else, because intent really is signalled by specific words. In D2:

=IFS(
   OR(ISNUMBER(SEARCH({"buy","price","cheap","order","coupon","discount"}, A2))), "Transactional",
   OR(ISNUMBER(SEARCH({"best"," vs ","alternative","review","top ","comparison"}, A2))), "Commercial",
   OR(ISNUMBER(SEARCH({"near me","opening","address","login"}, A2))), "Navigational",
   TRUE, "Informational")

The spaces inside " vs " and "top " matter. SEARCH matches anywhere in the string, so a bare "vs" also fires on servs and a bare "top" on stop and laptop. Order matters too: the first true condition wins, so transactional signals belong above commercial ones.

Roughly three quarters of any keyword list lands in Informational. That is normal, and the interesting reading is which of your groups have an unusually high commercial share.

Method 4 — Summarise with a pivot table

Grouping is only useful once you can see the totals. Select A1:D2000, then Insert → PivotTable. Put the group column in Rows, the volume column in Values set to Sum, the keyword column in Values set to Count, and intent in Columns.

What you are looking for is not the biggest group. It is a high volume total spread across few keywords — that is a topic one good page can plausibly take. Groups holding hundreds of keywords are usually competitive and slow.

Which method for which list

MethodEffortGood forFails when
Tag against a group listMedium, ongoingLists where you already know the categoriesNew keywords keep arriving ungrouped
Word frequencyLow, one-offDiscovering what the groups should beStop words dominate the top of the count
Intent bucketsLowAny list, as a second dimensionIntent is implied rather than stated
Semantic clusteringNone, automaticLists over ~1,000, or unfamiliar marketsYou need Google's own verdict on two queries

Where the spreadsheet stops

Every method above matches characters. That is the ceiling, and it is a low one. Three keywords from a coffee list:

“cold brew ratio” · “how to make cold brew” · “iced coffee recipe”

A SEARCH for "cold brew" catches the first two and misses the third completely, even though anyone searching all three wants the same article. “cheap flights berlin” and “budget airline tickets to berlin” share one word. “SERP” and “search results page” share none. No formula fixes this, because the information needed is not in the characters.

The second limit is maintenance cost. A tag list is a piece of software you now own. Every export brings phrasings it does not cover, the UNGROUPED pile refills, and the marginal value of each new tag falls while the cost stays flat. Somewhere between one and two thousand keywords that curve crosses, and the spreadsheet quietly becomes the expensive option.

The honest test

Sort by your UNGROUPED column. If it is under about 5% of rows and stays there between exports, keep using Excel. If it climbs every time you refresh the data, the list has outgrown character matching.

What a keyword grouper does instead

Grouping by meaning works differently. Each keyword is converted into a vector — a list of numbers placing it in a space where distance means difference in meaning — and keywords sitting close together are grouped. A model trained on enough text has learned that “SERP” and “search results page” belong together, without any tag list saying so.

Graph My Keywords does exactly this, and it does it in your browser tab: the model downloads once and then runs on your own machine, so the keyword file is never uploaded. That matters more than it sounds when the list belongs to a client and pasting it into a web app would need a data-processing agreement. It is free with no account up to 5,000 keywords, and larger lists are free on request.

Practically, the workflow replaces methods 1 and 2 entirely and keeps method 4. Drop the same CSV in, get groups you did not have to name, and export them back to CSV for the pivot table you were going to build anyway.

It is not strictly better at everything. A spreadsheet gives you exact, auditable rules — if a keyword contains "price" it lands in the price group, every time. Semantic grouping is a good draft produced by a machine that has never seen your market, so you review it. And neither approach sees live search results, which is the one thing the expensive SERP-overlap tools buy you.

Try the free keyword grouper

Same CSV, no tag list to write. Free up to 5,000 keywords, no signup, and the file never leaves your browser.

Group my keywords

Frequently asked questions

Can you group keywords in Excel?

Yes, and up to roughly a thousand keywords it is a perfectly reasonable choice. Tag against a group list with SEARCH and TEXTJOIN, read the candidate groups out of a word-frequency count, bucket intent with IFS, and summarise in a pivot table. The four sections above are the whole method.

What is the best formula for grouping keywords in Excel?

=TEXTJOIN(", ",TRUE,IF(ISNUMBER(SEARCH(Groups!$A$2:$A$60,A2)),Groups!$A$2:$A$60,"")). It returns every group name contained in the keyword rather than just the first, so a keyword can legitimately belong to two groups, and you can still take a primary group with TEXTBEFORE.

Is there a free keyword grouper?

Yes — this one. It groups by meaning instead of by shared words, is free with no account up to 5,000 keywords, and runs entirely in your browser so nothing is uploaded.

Do I need keyword grouper software at all?

Not for a small list you know well. You need it when the tag list stops keeping up with the data, when the list is in a market you do not know well enough to name the groups, or when keywords that obviously belong together keep being split because they share no words.

What is the difference between keyword grouping and keyword clustering?

In everyday use, nothing — people mean the same thing. Where a distinction is drawn, grouping means sorting by a shared word or tag, which is what a spreadsheet does, and clustering means grouping by relatedness. The longer answer is here.

Next