Features of !SEMTools

Sentence case in Excel: capitalize first letter in all cells

Making the first letter in a cell uppercase is one of the most common text-cleaning tasks in Excel. This is often necessary because text can lose its correct letter case during processing.

For example, you might add words or text to the beginning of multiple cells. If the original first letter was uppercase, you might first convert the entire cell to lowercase (for example, using the LOWER function), then add the new word, and finally make its first letter uppercase.

Or perhaps text lost its punctuation and letter case after processing in a database script or by another person, and the original was deleted without backup.

Your task is to make the text readable again by capitalizing the first letter in each cell.

If the dataset is small, you can do this manually, but when you have dozens, hundreds, or thousands of cells, it quickly becomes impossible without automation.

So how can we automate this task and make the first letter in a cell uppercase in Excel using formulas?

Depending on the assumptions you make, this can be done in several ways — from simple to more complex.

Make the first character in a cell uppercase

In this approach, we assume:

The first character in the cell is always a letter. If not, we don’t care about the case of the letters that follow.

With that assumption, the task is simple — extract the first character, convert it to uppercase using the UPPER function, and return it to the string. You can get the first character from a cell in many ways; the easiest is the LEFT function:

=LEFT(A1,1)

The rest of the text can be extracted with the MID function. The complete formula looks like this:

=UPPER(LEFT(A1,1))&MID(A1,2,LEN(A1))

You can also do it without extracting the remaining text, using the REPLACE function:

=REPLACE(A1,1,1,UPPER(LEFT(A1,1)))

Make the first letter of the first word uppercase

Sometimes the first character is not a letter — it could be brackets, quotes, an ellipsis, or other punctuation marks.

In such cases, the formulas above won’t work — they will take that character, try to change its case (which does nothing), and put it back.

A more accurate assumption is: The first letter is in the first word. In Excel, the first word is considered all characters before the first space.

Here’s a formula that finds that position and capitalizes the letter. See PROPER function for details.

=IFERROR(PROPER(LEFT(A1,SEARCH(" ",A1)-1)) & REPLACE(A1,1,SEARCH(" ",A1)," "),PROPER(A1))

This formula ignores punctuation, numbers, and other non-letter characters and capitalizes the first letter of the first word.

Find the position of the first letter in a cell

If you truly want to capitalize the very first letter in a cell (meaning the first character that is a letter), you need to find its position first.

Here’s a universal array formula that works for any language, detecting letters by whether their uppercase and lowercase forms differ:

{=MATCH(FALSE,EXACT(MID(LOWER(A1),ROW(INDIRECT("1:"&LEN(A1))),1),MID(UPPER(A1),ROW(INDIRECT("1:"&LEN(A1))),1)),0)}

Capitalize the first letter

Once you know the position, you can use REPLACE with MID and UPPER to change just that letter:

{=REPLACE(A1,MATCH(FALSE,EXACT(...),0),1,UPPER(MID(A1,MATCH(...),1)))}

Capitalize sentences in one click

The formula works, but if you need to do this for multiple sentences in each cell, Excel has no simple built-in solution.

The !SEMTools add-in lets you do this instantly without long formulas, helper columns, or manual editing. It contains over 500 ready-to-use tools, including capitalizing the first letters of sentences:

Capitalize first letters of sentences in Excel

See also:

Need to change text case in Excel?
!SEMTools has this and hundreds of other ready-to-use tools!

This post is also available in RU.