Filter Roman Numerals Precisely Without Losing Multi-Tag Matches

Filtering Roman numerals in a table while avoiding overlap can be challenging, especially when using Microsoft 365 for Enterprises.

3 min readMicrosoft Excel | Help & Support with your Formula, Macro, and VBA problems | A Reddit Community

The user's frustration is entirely justified, and the workaround they're reaching for, converting Roman numerals to numbers, shouldn't be necessary in the first place. The real issue isn't that Excel treats Roman numerals as text; it's that the filter logic is matching substrings instead of exact values. When you filter for "II," you're not asking for the numeral two; you're asking for any cell that contains the letter sequence "II" anywhere. That's why "III" sneaks in. The fix isn't to abandon the data type, it's to force an exact match.

The practical path forward is to stop relying on the default filter's fuzzy matching and instead build a helper column that evaluates the Roman numeral as a number. You can use a formula like `=MATCH(A2, {"I","II","III","IV","V"}, 0)` or a simple `=VLOOKUP(A2, {"I",1;"II",2;"III",3;"IV",4;"V",5}, 2, FALSE)` to assign a numeric value. Then filter on that numeric column. This gives you precise control: filter for `2` and you get only "II," never "III." And because the helper column holds a number, you can also sort or compare without the text-matching headache.

But the user's deeper point about multi-tag combinations is where the real insight lives. They're not just dealing with single values; they have cells that might contain "II, III" as a combined tag. A plain filter will treat that entire string as one value, which is why they're worried about excluding it. The answer is to split those tags into separate rows or columns before filtering. Use `TEXTSPLIT` (available in Microsoft 365) to break the comma-separated tags into individual cells, then apply the exact-match helper column to each split value. Now filtering for `2` returns only rows where "II" appears as a standalone tag, not as a substring of "III" and not as part of a combined string you want to keep.

This isn't a limitation you have to live with. It's a design choice that rewards a little upfront structure. The moment you stop expecting the filter to read your mind and instead give it a numeric key to match against, the whole problem dissolves. Build the helper column, split the tags, and filter with precision. You'll get exactly the rows you want, no more, no less. And that's the point: the tool can do this, but only if you stop asking it to guess and start telling it exactly what you mean.

From Microsoft Excel | Help & Support with your Formula, Macro, and VBA problems | A Reddit Community

I would like to filter within a table that includes roman numerals and multiple tags. When using the normal filter option III is included when filtering for II which isn't what I am looking for. I also wouldn't like to exclude III as it is possible that it appears as a combination of II, III for example. Any ideas?

I was hoping that by using =ROMAN() Numbers would be regarded as Numbers but they are converted to text, so this isn't helful.

Read the original at Microsoft Excel | Help & Support with your Formula, Macro, and VBA problems | A Reddit Community