TL;DR — Three functions that re-case text and nothing else.
UPPER(text)→ALL CAPS.LOWER(text)→all lowercase.PROPER(text)→Title Case Each Word. The thing worth knowing before you use them: Excel's=comparison and its lookups are already case-insensitive, so you almost never need these just to match text. Case matters for display and for exporting to systems that do care (SQL keys, another app). AndPROPERhas a sharp edge — it capitalizes every word's first letter, so it turnsMcDonaldintoMcdonald.
=UPPER("north-east") ' -> "NORTH-EAST"
=LOWER("[email protected]") ' -> "[email protected]"
=PROPER("mcdonald's farm") ' -> "Mcdonald'S Farm" (note the mangling!)
These are the simplest text functions in Excel — one argument, obvious output —
which is exactly why they get misused. The skill isn't how they work; it's
knowing when case is your problem at all, and when reaching for PROPER
will quietly corrupt names.
What you'll learn
- Why you rarely need
UPPER/LOWERto compare text — Excel ignores case - Where case genuinely matters: display, exports, and
EXACT - The
PROPERtrap: it manglesMcDonald,iPhone,O'Brien,IBM - Why these three don't clean text — pair them with
TRIM - The judgment call: normalise for machines, don't "beautify" in place
The mental model: case is a lens, not stored meaning
Here's the reframe that prevents most misuse. In Excel, the case of text is a
display choice, not part of the value's identity. "Apple", "APPLE", and
"apple" are three different strings, but Excel's everyday comparison treats
them as equal:
="Apple"="APPLE" ' -> TRUE (case-insensitive)
=VLOOKUP("apple", A:B, 2, FALSE) ' matches "Apple" fine
=COUNTIF(A:A, "north") ' counts "North", "NORTH", "north" alike
So UPPER/LOWER/PROPER are not matching tools. They're a lens you apply
on the way out — to make a report read consistently, or to hand data to a
system that is case-sensitive. Keep that framing and you'll stop reaching for
them to "fix" comparisons that were never broken.
When case actually matters
There are three real reasons to re-case text, and it's worth being precise about
them so you don't cargo-cult UPPER onto everything:
- Display consistency. A column of
NEW YORK,new york,New Yorkshould read one way in a finished report.PROPERorUPPERgives you that. - Export to a case-sensitive target. SQL identifiers, file systems, some
APIs, and other apps do distinguish case. Normalise with
LOWER(orUPPER) before you send, so[email protected]and[email protected]don't become two keys downstream. - Case-sensitive matching inside Excel — which needs
EXACT, not=.=EXACT(A2, "USD")isTRUEonly for exactly"USD". When you genuinely need to tellidfromID,EXACTis the tool;UPPER/LOWERare how you remove case as a factor before a normal compare.
If none of those apply, you probably don't need to change case at all.
The rule that bites: PROPER capitalizes every word
PROPER looks perfect for cleaning up name and address columns, and for plain
lowercase input it is. But it follows a dumb rule — capitalize the first
letter after any non-letter character, lowercase everything else — and that
rule wrecks anything with internal capitals or unusual punctuation:
=PROPER("mcdonald") ' -> "Mcdonald" (should be McDonald)
=PROPER("iPhone 15") ' -> "Iphone 15" (brand ruined)
=PROPER("o'brien") ' -> "O'Brien" ... but "d'angelo" -> "D'Angelo" (ok-ish)
=PROPER("IBM") ' -> "Ibm" (acronym destroyed)
=PROPER("john mcbride-smith") ' -> "John Mcbride-Smith"
The failure mode is consistent: any word whose correct capitalization isn't
"first letter up, rest down" comes out wrong, and PROPER gives you no way to
whitelist exceptions. That's why PROPER is a first pass, not a finisher.
On a column of genuinely lowercase free text it saves time; on real-world names,
brands, and acronyms it introduces errors you then have to hunt down.
For the common fixes, you layer SUBSTITUTE on top —
=SUBSTITUTE(PROPER(A2), "Mcdonald", "McDonald") — or, in Excel 365, a
LAMBDA with a small exception list. But the honest judgment is: if
capitalization accuracy matters (customer-facing names, legal text), review
PROPER's output rather than trusting it.
These don't clean — pair them with TRIM
A subtle point: UPPER/LOWER/PROPER change case and nothing else. They
don't strip the trailing spaces or the CHAR(160) gremlins that imported text
carries. If your column is dirty and inconsistently cased, do both, cleaning
first:
=PROPER(TRIM(A2))
=LOWER(TRIM(CLEAN(A2)))
Case-changing on top of dirty data just gives you consistently-cased dirty data. See TRIM & CLEAN for the cleanup half.
The judgment call
Ask what the re-casing is for. Machine target (a key, an export, a
dedup) → UPPER or LOWER to remove case as a variable, applied in a helper
column, pasted as values. Human display → PROPER for a quick pass, but
review it if names or brands are involved, because it will produce
Mcdonald. Comparison → you almost certainly don't need any of these;
Excel already ignores case, and if you need case to matter, that's EXACT.
The one thing not to do is scatter UPPER through formulas out of superstition
that lookups are case-sensitive. They aren't.
How ExcelMaster helps
"Title-case these names but keep McDonald, iPhone, and the acronyms intact" is
exactly the request PROPER can't handle alone. ExcelMaster builds the
real thing — PROPER as a base with a SUBSTITUTE/LAMBDA exception list for
the brands and names in your data — so you get clean display case without the
Iphone and Ibm mangling. Describe the casing rule you actually want; it
writes the version that survives contact with real names.
Frequently asked questions
Do I need UPPER or LOWER to compare text in Excel?
No. Excel's = operator and functions like VLOOKUP, XLOOKUP, and COUNTIF
are case-insensitive, so "Apple"="APPLE" is already TRUE. Use UPPER/
LOWER only to display text consistently or to export to a case-sensitive
system. For case-sensitive matching, use EXACT.
Why does PROPER capitalize the wrong letters?
PROPER capitalizes the first letter after every non-letter character and
lowercases the rest, so it can't know that McDonald, iPhone, or IBM have
internal capitals. It returns Mcdonald, Iphone, and Ibm. Treat PROPER
as a first pass and correct the exceptions with SUBSTITUTE.
How do I capitalize just the first letter of a sentence?
PROPER capitalizes every word, which isn't what you want for sentence case.
Use =UPPER(LEFT(A2,1)) & LOWER(MID(A2,2,LEN(A2))) to upper-case only the first
character and lower-case the rest.
How do I make proper case keep names like McDonald correct?
Layer a correction on top: =SUBSTITUTE(PROPER(A2), "Mcdonald", "McDonald"), one
SUBSTITUTE per exception. For many exceptions in Excel 365, wrap the logic in a
LAMBDA with a lookup list rather than nesting substitutes by hand.
Does UPPER or LOWER remove spaces or clean text?
No. They only change letter case; trailing spaces, CHAR(160), and control
characters survive untouched. Clean first with
TRIM/CLEAN, e.g. =LOWER(TRIM(A2)).
Tested in
Tested in: Excel 365 (Windows 11) — last verified 2026-07-06.
Related guides: Excel TRIM & CLEAN · Excel LEN · Excel SUBSTITUTE & REPLACE · Excel TEXT Function
