Get the Month Name From a Date in Excel
By ExcelReady TeamUpdated 5 min read
The short answer
To get the month name from a date in Excel, use =TEXT(A2,"mmmm") for the full name, like March, or =TEXT(A2,"mmm") for the short name, like Mar. The result is text. To show the name but keep the real date, apply a custom number format of mmmm instead. To turn a month number into a name, use =TEXT(DATE(2024,B2,1),"mmmm").
Key takeaways
- =TEXT(A2,"mmmm") returns the full month name; =TEXT(A2,"mmm") returns the 3-letter name.
- TEXT returns text, so the result sorts alphabetically, not in calendar order.
- A custom number format of mmmm shows the month name but keeps the date as a date.
- To turn a month number into a name, build a date first: TEXT(DATE(2024,B2,1),"mmmm").
- Use MONTH(A2) when you need the month number for maths or criteria.
On this page+
To get the month name from a date in Excel, use the TEXT function with the format code "mmmm" for the full name or "mmm" for the short one. =TEXT(A2,"mmmm") turns 14/03/2025 into March. This guide also shows how to keep the date while showing only the month, how to turn month numbers into names, and how to avoid the sorting trap that catches most people.
How to get the month name with TEXT#
Use =TEXT(date,"mmmm"). TEXT takes a value and a format code, and returns the value as text in that format. The number of m's sets the style:
| Format code | Result for 14 March 2025 |
|---|---|
"m" | 3 |
"mm" | 03 |
"mmm" | Mar |
"mmmm" | March |
"mmmmm" | M |
So for a list of invoice dates in column B:
=TEXT(B2,"mmmm")Fill it down (Windows: Ctrl+D; Mac: ⌘D) and each row shows its month: March, July, November, January.
The five-m code returns just the first letter. It's mainly used for chart labels where space is tight. For the current month, put TODAY inside TEXT: =TEXT(TODAY(),"mmmm") always shows this month's name, which is handy in a report title. The name changes by itself when a new month starts, so you never have to update it by hand. The TEXT function guide lists the other date and number codes.
How to show the month and year together#
Add a year code to the same TEXT format. A month name alone can be ambiguous when your data covers more than one year, because March 2024 and March 2025 both become "March":
| Formula | Result |
|---|---|
=TEXT(B2,"mmm yyyy") | Mar 2025 |
=TEXT(B2,"mmmm yyyy") | March 2025 |
=TEXT(B2,"mmm-yy") | Mar-25 |
=TEXT(B2,"yyyy-mm") | 2025-03 |
The last one, yyyy-mm, is useful as a grouping key. Because the year comes first and the month has two digits, these labels sort correctly even as text. To put a month label inside a sentence, see how to combine a date with text.
How to show the month name but keep the date#
Apply a custom number format instead of using a formula. The cell keeps its real date, so sorting, filtering and calculations still work, but it displays only the month:
- Select the date cells.
- Open Format Cells (Windows: Ctrl+1; Mac: ⌘1).
- Choose Custom, type
mmmmin the Type box, and click OK.
The cell now shows March, while the formula bar still shows the full date. This is the better choice when you'll sort or filter by date later. Use TEXT when you need the month name as text, for example to join it to other words or to use it as a lookup value.
How to convert a month number to a month name#
Build a date in that month with DATE, then format it. If B2 holds a month number from 1 to 12:
=TEXT(DATE(2024,B2,1),"mmmm")When B2 is 7, DATE makes 1 July 2024 and TEXT returns July. The year and day are placeholders; any valid ones work.
Don't use =TEXT(B2,"mmmm") on a month number. Excel treats the number 7 as a date: the 7th day of its calendar, which falls in January 1900. Every number from 1 to 31 returns January, which is a common and confusing result.
You can also use CHOOSE, which picks an item from a list by its position:
=CHOOSE(B2,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")CHOOSE is longer to type, but you control the exact labels, and it doesn't depend on Excel's language. That helps if you need English month names on a computer set to another language.
Why do month names sort in the wrong order?#
Month names from TEXT are text, so Excel sorts them alphabetically: April, August, December, February and so on. Calendar order needs a number behind the name.
Here are three ways to fix it:
- Sort by the original date column instead of the month name column.
- Add a helper column with
=MONTH(B2), which returns 1 to 12, and sort by that. - Use a custom sort list: in the Sort dialog, choose Order > Custom List and pick the January to December list.
MONTH is also what you need for criteria and maths. For example, to check whether a date falls in a quarter or fiscal period, you compare numbers, not names. See how to get the quarter from a date and how to work out the fiscal year from a date for those.
Common mistakes with month names#
Most month-name problems come from the data, not the formula. Check these:
- Dates stored as text. If the date is text, such as
14.03.2025, TEXT can't read it and returns it unchanged. Convert it to a real date first. - Month numbers instead of dates. As above, use DATE to build a date before formatting.
- Wrong language. TEXT returns month names in the language of your Excel. A file opened on a computer set to French or German shows French or German names. Use CHOOSE for fixed names.
- Counting by name. Counting rows with
=COUNTIF(C2:C9,"March")works on the text column, but combines every year. Count with date ranges if the year matters.
The same approach works for weekdays. The format code "dddd" gives the day name, which is covered in getting the day name from a date.
Practise it#
Month names are a quick win in reports and job tests, as long as you know the format codes and the sorting trap. Practise EDATE, EOMONTH and WEEKDAY in a live spreadsheet to get comfortable with date functions, and practise TEXT and VALUE to master format codes. Each lesson checks your formula instantly. Or try the exercise on this page first.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
Show the full month name for each invoice date. Click C2 and use TEXT on the date in B2 with the format code mmmm.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | |||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | ||||
| 7 | ||||
| 8 |
Tip: Four m's give the full month name. Put the code in double quotes.
Practise this in a lesson
Frequently asked questions
How do I get the month name from a date in Excel?
Use =TEXT(A2,"mmmm") for the full name, such as January, or =TEXT(A2,"mmm") for the short name, such as Jan. A2 must hold a real date, not text.
How do I convert a month number to a month name?
Build a date in that month and format it: =TEXT(DATE(2024,B2,1),"mmmm"). If B2 is 7, the result is July. The year and day don't matter.
Why does TEXT return January for every row?
The cells probably hold month numbers like 1 to 12, not dates. Excel reads the number 3 as a date in early January 1900, so the month is January. Use TEXT(DATE(2024,A2,1),"mmmm") instead.
How do I sort month names in calendar order?
Sort by the real date or by MONTH(A2), not by the text name. Text names sort alphabetically, which puts April first and September last.