Available in:All versions (Works in Excel 2007, every later version, Microsoft 365 and Excel for the web)Examples need Excel 2021 or laterCategory:Text

LOWER

KLEINE.LETTERS in Dutch Excel

Converts every letter in a text to lowercase and leaves digits, spaces and punctuation as they are.

Difficulty rating 1 of 5. One argument and no options; the real lesson is that most of Excel ignores case already, so LOWER only pays off in the few places where case counts.

Last updated: 13 October 2026

See the worked examples

Sheet excerpt: D2 holds the formula
RowABCD
1RelationInvoice no. as typedOpen amountInvoice no. lowercase
2D1001VF-25-0412€12,100.00€ 12.100,00vf-25-0412=LOWER(B2)=LOWER(B2)
3D1002vf-25-0413€4,500.00€ 4.500,00
4D1003Vf-25-0414€8,470.00€ 8.470,00
5D1004VF-25-0415€2,178.00€ 2.178,00
6D1005Vf-25-0416€990.00€ 990,00
Formula cell (D2)Input

Result: vf-25-0412

=LOWER(B2)
=LOWER(B2)

What LOWER does and when to use it

What it does: it turns every letter of a text into lowercase, for example Info@Example.NL into info@example.nl.

When to use it: for values that are written in lowercase and that other systems compare case-sensitively: e-mail addresses, usernames, URLs, tags. Inside Excel it matters when the key feeds EXACT, FIND or SUBSTITUTE, which see case. For a name you want to display, PROPER is usually better.

How Excel evaluates it

Excel reads the argument and takes the cell's value if it is a reference; an empty cell gives an empty text. It then walks through the text character by character.

Every uppercase letter, accented ones included, is replaced by its lowercase form; every other character is copied unchanged. The result is always text, even if the input was a number, and it is a new value: the source cell is not touched.

Watch out: Inside Excel you need LOWER less often than you would think: =, COUNTIF, XLOOKUP and MATCH already treat Bakker and bakker as equal, so wrapping a lookup key in LOWER changes nothing.

Mental model

It is Caps Lock switched off for the whole cell at once: letters drop to lowercase, everything else does not notice.

Terms used on this page: reference, argument, cell

LOWER(text)
LOWER(text)
Arguments
ArgumentTypeMeaning
textRequiredThe text to convert; a cell reference or text in quotes.

Return value:Text: the text in lowercase

Formulas use commas (,) between arguments, as in English Excel. Formulas use semicolons (;) between arguments, as in Dutch Excel. Formulas use commas (,) between arguments, as in English Excel; Dutch Excel uses semicolons (;).

Worked examples

Beginner

Lowercase invoice numbers from the aging list

Veldhuis Installatie BV gave you its receivables aging list. The invoice numbers were typed by different people: VF-25-0412, vf-25-0413, Vf-25-0414.

Your data analysis tool compares invoice numbers character by character, and the general ledger export holds them in lowercase. You add a column with every invoice number in lowercase before you match the two.

Sheet excerpt: D2 holds the formula
RowABCDE
1RelationInvoice no. as typedOpen amountInvoice no. lowercase
2D1001VF-25-0412€12,100.00€ 12.100,00vf-25-0412=LOWER(B2)=LOWER(B2)
3D1002vf-25-0413€4,500.00€ 4.500,00
4D1003Vf-25-0414€8,470.00€ 8.470,00
5D1004VF-25-0415€2,178.00€ 2.178,00
6D1005Vf-25-0416€990.00€ 990,00
7
Formula cell (D2)Input

Formula in D2

=LOWER(B2)
=LOWER(B2)

Result: vf-25-0412

Step by step
  1. Excel reads B2 and finds the text VF-25-0412, 10 characters.
  2. It goes through the characters in order. V becomes v and F becomes f. The two hyphens and the digits 2, 5, 0, 4, 1, 2 are not letters and are copied as they are.
  3. D2 shows vf-25-0412, still 10 characters: LOWER changed two letters and nothing else.
  4. Copy D2 down to D6. The number in row 3 was already lowercase and comes back identical, and Vf-25-0414 becomes vf-25-0414.

Watch out: Excel itself already treats VF-25-0412 and vf-25-0412 as equal, so a lookup in Excel would have worked without LOWER. The column only matters because the tool you export to is case-sensitive.

More on this example: why it works, 1 variation

Why it works

Only letters have a lowercase form, so LOWER cannot damage the parts of an invoice number that carry meaning: the hyphens and the digits. After LOWER every spelling of the same invoice number is the same string of characters, which is what a tool that compares character by character needs.

Variations

=LOWER(B2:B6)
=LOWER(B2:B6)

In Excel 2021 or Microsoft 365 one formula in D2 spills all five invoice numbers; nothing to copy down.

Intermediate

Build a match key from a ledger description

You match the sales invoices in the receivables subledger to the revenue postings on journal VRK in the general ledger. The subledger holds invoice numbers such as vf-25-0414.

In the XAF auditfile the number sits in the description with a space instead of a hyphen and in mixed case: Vf 25-0414. You turn the description into the subledger format: spaces become hyphens, letters become lowercase.

Sheet excerpt: E4 holds the formula
RowABCDEF
1Entry no.DescriptionCreditMatch key
225-0412VF 25-0412€12,100.00€ 12.100,00
325-0413vf 25-0413€4,500.00€ 4.500,00
425-0414Vf 25-0414€8,470.00€ 8.470,00vf-25-0414=LOWER(SUBSTITUTE(B4, " ", "-"))=LOWER(SUBSTITUTE(B4; " "; "-"))
525-0415VF 25-0415€2,178.00€ 2.178,00
6
Formula cell (E4)Input

Formula in E4

=LOWER(SUBSTITUTE(B4, " ", "-"))
=LOWER(SUBSTITUTE(B4; " "; "-"))

Result: vf-25-0414

Step by step
  1. Excel evaluates the inner function first. SUBSTITUTE reads B4, Vf 25-0414, and replaces the one space with a hyphen: Vf-25-0414.
  2. LOWER receives Vf-25-0414 and lowercases the one capital: vf-25-0414. The hyphens and digits are not letters and stay.
  3. E4 shows vf-25-0414. The same formula in E2 gives vf-25-0412 (V and F become lowercase) and in E3 gives vf-25-0413 (nothing to lowercase, the space becomes a hyphen).
  4. Without LOWER the key would be Vf-25-0414. Excel would still see it as equal to vf-25-0414, but your data analysis tool would not, which is the reason LOWER is in the formula.

Watch out: A description with a space at the start or end gives a key with a hyphen at the start or end. Add TRIM inside SUBSTITUTE if the export is not clean.

More on this example: why it works, 1 more pitfall, 1 variation

Why it works

SUBSTITUTE fixes the layout of the number and LOWER fixes the case. LOWER comes last, on the finished text, so one call covers every letter. SUBSTITUTE does nothing when there is no space, so the formula is safe to copy down over every row.

More to watch out for

  • The formula assumes the description holds only the invoice number. If it also holds free text, such as a customer name, you must first cut the number out with MID and FIND.

Variations

=LOWER(SUBSTITUTE(TRIM(B4), " ", "-"))
=LOWER(SUBSTITUTE(TRIM(B4); " "; "-"))

The same result for a clean description; it also removes spaces at the start and end.

Advanced

Count a keyword in journal descriptions regardless of case

For journal entry testing you look at the manual MEM entries of Veldhuis Installatie BV. You want to know how often the word storno (a reversal) appears in the descriptions, because reversals need explaining. The preparers wrote Storno, storno and STORNO, and one description uses it twice.

COUNTIF cannot count inside text, and SUBSTITUTE, the usual counting trick, is case-sensitive. You lowercase the descriptions first so one SUBSTITUTE catches every spelling.

Sheet excerpt: E2 holds the formula
RowABCDEF
1Entry no.DescriptionSearch wordMentions
2M-0101Storno invoice 25-0388storno44=SUMPRODUCT((LEN(B2:B6) - LEN(SUBSTITUTE(LOWER(B2:B6), D2, ""))) / LEN(D2))=SUMPRODUCT((LEN(B2:B6) - LEN(SUBSTITUTE(LOWER(B2:B6); D2; ""))) / LEN(D2))
3M-0102Accrual rent December
4M-0103STORNO of M-0101; storno bank fee
5M-0104Depreciation December
6M-0105Storno of payroll accrual
7
Formula cell (E2)InputNote: The word storno is the same in both languages on purpose: it is the keyword being counted.

Formula in E2

=SUMPRODUCT((LEN(B2:B6) - LEN(SUBSTITUTE(LOWER(B2:B6), D2, ""))) / LEN(D2))
=SUMPRODUCT((LEN(B2:B6) - LEN(SUBSTITUTE(LOWER(B2:B6); D2; ""))) / LEN(D2))

Result: 44

Step by step
  1. Excel starts inside. LOWER(B2:B6) gives five descriptions in lowercase; the first becomes storno invoice 25-0388, and the third becomes storno of m-0101; storno bank fee.
  2. SUBSTITUTE removes every occurrence of D2, storno, from each lowercase description. In description 3 both occurrences disappear; in description 2 nothing changes because the word is not there.
  3. LEN of the original minus LEN of the stripped text gives the characters removed per description: 6, 0, 12, 0, 6 (the Dutch descriptions give the same five numbers, because only the word storno was removed).
  4. Dividing by LEN(D2), which is 6, turns characters into occurrences: {1;0;2;0;1}.
  5. SUMPRODUCT adds them: 1 + 0 + 2 + 0 + 1 = 4. E2 shows 4, one more than the number of entries that mention it, because entry M-0103 counts twice.
  6. Remove LOWER and the count drops to 1: Storno in M-0101, STORNO in M-0103 and Storno in M-0105 no longer match the lowercase search word; only the lowercase storno in M-0103 does.

Watch out: Type Storno with a capital in D2 and the formula silently returns 0: the descriptions are lowercased, the search word is not, and nothing matches. Wrap D2 in LOWER as well if other people type the search word.

More on this example: why it works, 1 more pitfall, 2 variations

Why it works

SUBSTITUTE is case-sensitive, so it needs both sides in the same case; LOWER on the descriptions does that in one step, provided the search word in D2 is lowercase too. The length difference trick counts characters, and dividing by the word length converts that to a count of words. The whole thing runs as arrays inside SUMPRODUCT, one row per description, without a helper column.

More to watch out for

  • The count is by character sequence, not by word: a description containing stornoboeking also counts, because storno is inside it. Search for storno followed by a space if that matters.

Variations

=SUMPRODUCT(--ISNUMBER(SEARCH(D2, B2:B6)))
=SUMPRODUCT(--ISNUMBER(SEARCH(D2; B2:B6)))

Counts entries, not mentions: 3 here. SEARCH ignores case by itself, so no LOWER is needed, but a description that mentions the word twice counts once.

=COUNTIF(B2:B6, "*" & D2 & "*")
=COUNTIF(B2:B6; "*" & D2 & "*")

Also counts entries (3) and also ignores case. The shortest option when one hit per entry is enough.

MasterExcel 2021 or later (This example needs Excel 2021 or later)

A duplicate-invoice key that survives export, in LET

You test purchases for duplicate invoices. The INK journal export holds the supplier relation and a reference field such as Inv: FA 25-0388, typed with different capitals, extra spaces and the number after a prefix. Your data analysis tool compares keys byte for byte.

You build the key in Excel from three parts, all lowercase, so the same invoice booked twice gets the same key:

  • supplier code
  • invoice number without prefix and spaces
  • amount

The formula will be copied down 20,00020.000 rows, so it has to be readable enough to review once and trust everywhere.

Sheet excerpt: E3 holds the formula
RowABCDEF
1RelationReferenceAmountKey
2C2001Inv: FA 25-0388€4,840.00€ 4.840,00
3C2002Inv: FA 25-0391€12,100.00€ 12.100,00c2002|fa25-0391|12100=LET( rel, TRIM(A3), inv, SUBSTITUTE(TRIM(MID(B3, FIND(":", B3) + 1, LEN(B3))), " ", ""), amt, C3, LOWER(rel & "|" & inv & "|" & amt) )=LET( rel; TRIM(A3); inv; SUBSTITUTE(TRIM(MID(B3; FIND(":"; B3) + 1; LEN(B3))); " "; ""); amt; C3; LOWER(rel & "|" & inv & "|" & amt) )
4C2003Inv: VF 25-0392€605.00€ 605,00
5c2001INV: fa 25-0388€4,840.00€ 4.840,00
6
Formula cell (E3)InputMarks: extra spaceNote: A3 has a space at the start and one at the end, and B3 ends in a space. Rows 2 and 5 are the same invoice typed two ways.

Formula in E3

=LET(
  rel, TRIM(A3),
  inv, SUBSTITUTE(TRIM(MID(B3, FIND(":", B3) + 1, LEN(B3))), " ", ""),
  amt, C3,
  LOWER(rel & "|" & inv & "|" & amt)
)
=LET(
  rel; TRIM(A3);
  inv; SUBSTITUTE(TRIM(MID(B3; FIND(":"; B3) + 1; LEN(B3))); " "; "");
  amt; C3;
  LOWER(rel & "|" & inv & "|" & amt)
)

Result: c2002|fa25-0391|12100

Step by step
  1. LET names the pieces. rel is TRIM(A3): the spaces at the start and end go, leaving C2002, 5 characters.
  2. inv, innermost first: FIND locates the colon in Inv: FA 25-0391 (16 characters) at position 4. MID starts at 4 + 1 = 5 and asks for LEN(B3) = 16 characters; only 12 remain, and MID returns those without complaint: FA 25-0391 with a space at both ends.
  3. TRIM removes the outer spaces: FA 25-0391, 10 characters. SUBSTITUTE removes the remaining space: FA25-0391, 9 characters.
  4. bedrag is C3, 12100.
  5. The & operator joins rel, a pipe, inv, a pipe and amt: C2002|FA25-0391|12100. The number 12100 becomes text 12100 in the join.
  6. LOWER, applied last, lowercases every letter: c2002|fa25-0391|12100. That is E3.
  7. Copied to E2 and E5, the two rows of the same invoice both give c2001|fa25-0388|4840: C2001 and c2001 differ in case, FA and fa differ in case, and the keys are identical, so the tool flags the duplicate.

Watch out: The mirror image, LOWER inside the pieces and the join on the outside, gives the same result here but breaks the moment someone adds a piece and forgets its LOWER. One LOWER on the outside cannot be forgotten.

More on this example: why it works, 2 more pitfalls, 1 variation

Why it works

Order is the point:

  • TRIM first, so edge spaces do not survive
  • SUBSTITUTE next, on the extracted number
  • LOWER last, on the assembled key, so nothing capitalized can slip in after it

Excel itself would match these keys without LOWER, but the receiving tool will not, and that is the only reason LOWER is here. LET gives each piece a name, which keeps the formula readable at 20,00020.000 rows.

Do not use this construction when the entry number or a unique document ID is reliable: then COUNTIF on that column finds duplicates with no key at all. The alternative is Remove Duplicates in Power Query on lowercased columns, with the trade-off that it refreshes on demand instead of recalculating live.

More to watch out for

  • A reference without a colon makes FIND return #VALUE! and the whole key fails. Wrap the extraction in IFERROR(..., B3) if some suppliers use another format.
  • Amounts are joined as typed, so an amount that differs by a rounding cent gets a different key. Round the amount first if you want to catch near duplicates.

Variations

=LOWER(TRIM(A3) & "|" & SUBSTITUTE(TRIM(TEXTAFTER(B3, ":")), " ", "") & "|" & C3)
=LOWER(TRIM(A3) & "|" & SUBSTITUTE(TRIM(TEXTAFTER(B3; ":")); " "; "") & "|" & C3)

TEXTAFTER (Excel 2024 or Microsoft 365) replaces the MID and FIND pair and drops LET; fine when each input is used once anyway.

Common mistakes

Common mistakes
SymptomCauseFix
#N/A remains after wrapping the keyYou wrapped a VLOOKUP or XLOOKUP key in LOWER to fix a #N/A and the #N/A is still there.Those functions never cared about case. The mismatch is a space, a non-breaking space or a text-versus-number difference. Test with LEN on both sides, then TRIM.
Totals drop to 0 after LOWERA column of order numbers went through LOWER and the totals at the bottom dropped to 0.LOWER turns numbers into text and SUM ignores text. Apply LOWER only to text columns, or guard it with IF(ISTEXT(...)).
Every letter lowercased, even in namesYou expected LOWER to remove the capitals from the middle of a name and leave the first letter alone; it lowercased everything.LOWER has no idea of words. Use PROPER for first-letter capitals, and read its page for what it does to names such as McDonald.