The built-in Remove Duplicates tool and the UNIQUE function both match text exactly. That means case matters to them. "Acme" and "ACME" are different strings, so both survive the dedupe.
For a mailing list or a customer table, that is wrong. You want one row per company, no matter how someone typed it.
The Old Way (UNIQUE plus LOWER)
The common trick is to lowercase everything first, then run UNIQUE on that.
=UNIQUE(ARRAYFORMULA(LOWER(A2:A)))It collapses the duplicates, but now every result is lowercase. "acme" is not how the brand is written. So you add PROPER or another layer to fix the casing back, and PROPER mangles acronyms like "IBM" into "Ibm".
It also ignores near-duplicates. A trailing space or an "Inc." on one row and not another still counts as unique, so the list stays dirtier than it looks.
The FITS Way (Just Ask)
With FITS, you describe the dedupe rule and keep the original casing.
=FITS("Return this list with duplicates removed, ignoring case, keep the first spelling of each: ", A2:A)It treats "Acme" and "ACME" as one and keeps the version you had. Because it reads meaning, you can push it further and fold in near-duplicates too, without another nested formula.
When to Use Each
If your list is already consistent in casing, plain UNIQUE is free and instant. Reach for =FITS() when case varies, when you want to keep the original spelling, or when near-duplicates need folding in too. Deduping is usually the last step after cleanup, so pair it with trimming extra spaces, standardizing date formats, or a full data normalize pass. Cleanup is one job on a long list. Read the full guide to automating Google Sheets tasks you used to need regex for.
Stop Deduping the Same List Twice
FITS puts plain-English AI formulas inside Google Sheets. Describe the dedupe rule you want. Get a clean list back. Free tier included.