How to convert date to text in Excel with TEXT function and without formulas

In the previous article, we discussed different ways to convert text to date in Excel. If you are looking for a solution to the opposite task - changing an Excel date to text - a few choices are available to you again.

Traditionally, we'll begin with a formula solution and then explore a couple of non-formula ways.

Using TEXT function in Excel to convert date to text

The Excel TEXT function is specially designed to convert a numeric value to a text string and display it in the format you specify.

The syntax of the Excel TEXT function is as follows:

TEXT(value, format_text)

Where:

  • value is a numeric value you want to convert to text. This can be a number, a formula that returns a numeric value, or a reference to a cell containing a number.
  • format_text this is how you want to format the resulting text value, provided as a text string enclosed in quotation marks.

For example, you can use the following formula to convert a date in cell A1 to a text string in the traditional US date format (month/day/year):

=TEXT(A1,"mm/dd/yyyy")
Using Excel TEXT function to convert a date to a text string

As you see in the screenshot above, the value returned by the TEXT formula is aligned to the left, which is the first sign that points to a date formatted as text. Apart from alignment in a cell, there are a few more indicators that can help you distinguish between dates and text strings in Excel.

Example 1. How to convert date to text strings in different formats

Since Excel dates are serial numbers in their nature, the Excel TEXT function has no problem with converting them to text values. The most challenging part is probably specifying the proper display formatting for the text dates.

Microsoft Excel understands the following date codes.

Months:

  • m - month number without a leading zero
  • mm - month number with a leading zero
  • mmm - short form of the month name, for example Mar
  • mmmm - full form of the month name, for example March
  • mmmmm - month as the first letter, for example M (stands for March and May)

Days:

  • d - days number without a leading zero
  • dd - day number with a leading zero
  • ddd - abbreviated day of the week, for example Sun
  • dddd - full name of the day of the week, for example Sunday

Years:

  • yy - two-digit year
  • yyyy - four-digit year

To display the converted text date exactly the way you want, you can separate the date codes with various delimiters such as dash (-), slash (/), comma (,) colon (:), etc. Here are a few examples:

  • "mm/dd/yyyy" - the date format used in the USA, displays as 03/08/2015
  • "dd/mm/yyyy" - the date format used by the rest of the world, displays as 08/03/2015
  • "dd-mmm-yy" - displays as 08-Mar-15 to avoid any confusion : )
  • "dddd, mmmm d, yyyy" - full date, including the day of the week, displays as Sunday, March 08, 2015

For example, if you have a column of US dates in Excel and you need to export them to a .csv file for your UK based partner, you can convert the dates to the UK format, as a courtesy:

=TEXT(A1,"mm/dd/yyyy")

Some more formula examples and their results are shown below:
Converting dates to text format in Excel using the TEXT function

Example 2. How to convert time to text strings

If your date entries display both dates and times and you want to change them to text strings exactly as they are, you included the following time codes in the format_text argument of the Excel TEXT function.

Hours:

  • h - hours without a leading zero, as 0-23.
  • hh - hours with a leading zero, as 00-23.

Minutes:

  • m - minutes without a leading zero, as 0-59
  • mm - minutes with a leading zero, as 00-59

Seconds:

  • s - seconds without a leading zero
  • ss - seconds with a leading zero

Periods of the day:

  • AM/PM - displays as AM or PM
  • If not specified, 24-hour time format is used

As you probably noticed, the m codes are used for months as well as minutes, and you might be curious how Microsoft Excel distinguishes between them. If you put "m" immediately after h codes (hours) or immediately before s codes (seconds), Excel understands you want to display minutes rather than a month. Yep, it's that simple : )

The TEXT function in Excel allows including both date and time codes in the format_text argument, for example:

=TEXT(A2,"dd/mm/yyyy hh:mm")

If you want to convert the time portion only, then put only the time codes, like this:

=TEXT(A2,"h:mm AM/PM")

The results of your TEXT formulas may look similar to this:
Text formulas to convert date and time to text strings

Example 3. How to convert the current date to text in Excel

In case you want to convert the current date to the text format, you can use the Excel TEXT function in combination with the TODAY function that returns the current date, for example:

=TEXT(TODAY(), "dd-mmm-yyyy")

The result of this formula would show up as 08-Mar-2015. If you prefer to display the resulting text string in some other format, please see the date codes discussed in Example 1.

Example 4. Excel TEXT formula to convert text to date

Though the main destination of the TEXT function in Excel is converting numbers to text, it can also perform a reverse conversion, i.e. change text to date. For this, you simply add the double negation (--) to your TEXT formula.

For example, to convert a text string in cell A1 to date, you use the below formula, and then format the cell as a date.

=--TEXT(A1,"mm/dd/yy")
A TEXT formula to convert text to date

Note. In the above examples, we used the date and time codes for the English locale of Excel. If you have a different locale, the codes may be different for your language.

Converting date to text with Excel's Text to Columns wizard

As you've just seen, Excel's TEXT function makes a good job of converting dates to text. But if you are not a big fan of Excel formulas, you might like this solution better.

If you had a chance to read the previous part of our Excel dates tutorial, you already know how to use Text to Columns to change text to date. To convert dates to text strings, you proceed in the same way with the only difference that you choose Text instead of Date on the final step of the wizard.

Note. The Text to Column wizard always converts dates in the default short date format regardless of how the original dates are displayed in your worksheet. You can find more about default date and time formats in the following article: Default date format in Excel.

If the default date format is not what you are looking for, you can jump right to the next solution that lets you convert dates to text strings in any format of your choosing.

If you don't mind the default format, then perform the following steps:

  1. In your Excel spreadsheet, select all of the dates you want to change to text.
  2. On the Data tab, find the Data Tools group, and click Text to Columns.
    Switch to the Data tab and click Text to Columns.
  3. On step 1 of the wizard, select the Delimited file type and click Next.
    On step 1 of the wizard, select Delimited and click Next.
  4. On step 2 of the wizard, make sure none of the delimiter boxes is checked and click Next.
    On step 2 of the wizard, uncheck all delimiter boxes and click Next.
  5. On step 3 of the wizard, which is the final step, select Text under Column data format and click Finish.

Tip. If you don't want the resulting text strings to overwrite the original dates, specify the Destination for the top cell of the new column.
Converting dates to text format using the Convert Text to Columns Wizard

That was really easy, right? The screenshot below demonstrates the result - dates converted to text strings in the default short date format set in your Windows Regional settings, which is "mm/dd/yyyy" in my case:
Dates converted to text strings in the default short date format

Convert Excel date to text via Notepad

Another quick no-formula way to turn Excel dates into text strings is using Notepad or any other text editor. Unlike the Text to Columns wizard, it allows you to convert Excel date to text in any format of your choosing.

  1. In your Excel worksheet, format the dates exactly as you want the text strings to look like.
  2. Select all of the dates you want to convert and press Ctrl+C to copy them.
    Copy the dates you want to convert to text.
  3. Open Notepad or any other text editor, and paste the copied dates there.
  4. Notepad automatically converts the dates to the text format. Press Ctrl+A to select all text strings, and then Ctrl+C to copy them.
  5. Switch back to Microsoft Excel, select the column where you want to insert the text strings and apply the Text format to it. To do this, press Ctrl+1 to open the Format Cells dialog and select Text on the Number tab.
    Select the column where you want to insert the text strings and apply the Text format to it.
  6. Finally, select the first cell where you want to insert the text strings and press Ctrl+V to paste them.

The following screenshot shows the result, with the original Excel dates in column B and text entries in column D. Please notice that the converted text strings reflect the original date format with absolute accuracy, except they are left-alighted, as all text values are supposed to be in Excel.
The converted text strings look identical to the original dates.

This is how you convert date to text in Excel. Next week we will explorer a few Excel functions to work with weekdays and days of the year. And in the meantime, you may want to check out the previous parts of our comprehensive tutorial to working with dates and times in Excel.

Excel Dates Tutorials:

212 comments

  1. I have to convert the format 01-Feb to 1/2 and 01-oct to 1/10

  2. i WANT TO CONVERT FROM 25-12-1995 TO TWENTYFIFTH DECEMBER NINTEEN NINETY FIVE

  3. Can you help me how to convert 8/10/2022 to "For the month of Aug 2022" ? I would help me with my reporting instead of typing it manually. Thanks in advance.

  4. Need to convert a date to a yy.mm format. I used to use =textjoin(",",,year(a2),month(a2)) but the formula does not seem to work with the latest version of Excel.. thoughts?

  5. It worked, Thanks ))

  6. When I use concatenate(A1,"mm-dd-yyyy") the result is 02-dd-yyyy, so how I can solve this problem

  7. Hi,
    Im trying to figure out how to auto calculate the amount I spent on a daily basis. I already have used =now() to auto enter the date and not change everytime I reopen my google sheet. now what I want is how to let excel give the daily sum of yesterday when I start entering stuff today. Id love to use this for a graphical interpretation of my daily expenses and incomes.

  8. Hi
    Is there a way to take all forms of dates and format them into one singular type .

    Ill try and explain , I have a number of people sending me sheets , some have their default 23.01.1961 some have 23/01/1961 and others 23.1.61 and so on . When I try to search i am not able to find what I am looking for apart from searching all the different ways ?? I am searching about 52,000 entries ! help please

  9. Thank you!!!
    fixed all my pivot tables using this

  10. The year 1950 will be converted as "Nineteen Fifty" In text. For this, can you specify what should I do?

  11. Hi!
    I tried to use the TEXT function with =TEXT(A1; "dd/mm/yyyy") but the result is "08/03/yyyy". I have tried in multiple date forms for A1, and the chosen format, but the year always shows up as yyyy. If I change to =TEXT(A1; "yyyy/mm/dd"), I get an error in value: "A value used in the formula is of the wrong data type". Do you know what could be happening?
    (Side note: If I use the Text to Columns wizard, it works just fine...)

      • I have used 08/03/2015, 2015/03/08, March 8, 2015,...
        I always make sure the formatting is date.

        • Hello!
          I write your values as dates. I was able to repeat your mistake only if the letters yyyy are not letters of the English alphabet, but are written in another language.

          • Thank you that really helped!! I was assuming that it would be yyyy for any language, but in portuguese it is aaaa (of 'ano')! Thank you so much :)

            • For multiple language you can use "eeee" will give a result as "yyyy" or "aaaa" depends on language version of the person who reads.

              The only complex is "eeee" could not be used as "ee" to see the las 2 digits from year, like "yy" or "aa" does. ("ee" results in "eeee")

              • Thank you

  12. Hello,

    I want to convert yyyymmdd to text but when I do it shanges to 4something. The other issue is that when I double click its (for example) 5/7/2021 I have it as 20210507 and want to take away the dat formula and just keep the number as text and the same way. Please advice...

  13. Not able to convert 30-04-2021 to text

    • Hello!
      I hope you have studied the recommendations in the tutorial above. It contains answers to your question.

      =TEXT(A2,"DD-MM-YYYY")

  14. need to get an output with"/2021"alongwith the typed value.
    eg: if i type 1234 and enter the same cell should show "1234/2021"

  15. Correction in the main article:
    ""dd-mmm-yy" - displays as 08-Mar-2015 to avoid any confusion : )"
    should read:
    "dd-mmm-yy" - displays as 08-Mar-15 to avoid any confusion : )"

  16. hi, i want to convert 37.75 to time 37:45 i did this using format cells but it's format include ss eg
    37:45:00, i want to convert this to 37:45( hh:mm )in text format , please help..

  17. how the date/ month / year ( 03.05.2019) convert into words - third may two thousand and nineteen

  18. How do I convert the number in a date formatted cell into the three letter month abbreviation?
    Ex: visually Jan, actual cell contents 1/12/2018, result when I convert to text 43112.

  19. Hello
    I want to use the TODAY() function within functions such as SUMIFS where the date is in column A. For example if TODAY() is in A5 and the excel sheet has numbers in column V and dates in column P. The formula =SUMIFS(V2:V90,P2:P90,"17/12/2020") gives the correct answer but when I try to use the TODAY() function such as =SUMIFS(V2:V90,P2:P90,"=TODAY()") or =SUMIFS(V2:V90,P2:P90,"=A5") all I get is zero. Today's date is 17/12/2020. How do I use the TODAY() function to get the right answer? I need it to be flexible so I can use TODAY()-1, TODAY()-2 etc. as well.
    Thank you for any help.

    • Remove the "=" before "TODAY()" and it should work

  20. It worked for me, Thank you

    • thank you , very useful

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)