The TEXT function lets you change the way a number appears by applying formatting to it with format codes. It's useful in situations where you want to display numbers in a more readable format, or you want to combine numbers with text or symbols.
: The TEXT function converts numbers to text, which may make it difficult to reference in later calculations. It’s best to keep your original value in one cell, and then use the TEXT function in another cell. Then, if you need to build other formulas, always reference the original value and not the TEXT function result.
Syntax
TEXT(value, format_text)
The TEXT function syntax has the following arguments:
Argument Name |
Description |
value |
A numeric value that you want to be converted into text. |
format_text |
A text string that defines the formatting that you want to be applied to the supplied value. |
Overview
In its simplest form, the TEXT function says:
-
=TEXT(Value you want to format, "Format code you want to apply")
Here are some popular examples, which you can copy directly into Excel to experiment with on your own. Notice the format codes within quotation marks.
Formula |
Description |
---|---|
=TEXT(1234.567,"$#,##0.00") |
Currency with a thousands separator and 2 decimals, like $1,234.57. Note that Excel rounds the value to 2 decimal places. |
=TEXT(TODAY(),"MM/DD/YY") |
Today’s date in MM/DD/YY format, like 03/14/12 |
=TEXT(TODAY(),"DDDD") |
Today’s day of the week, like Monday |
=TEXT(NOW(),"H:MM AM/PM") |
Current time, like 1:29 PM |
=TEXT(0.285,"0.0%") |
Percentage, like 28.5% |
=TEXT(4.34 ,"# ?/?") |
Fraction, like 4 1/3 |
=TRIM(TEXT(0.34,"# ?/?")) |
Fraction, like 1/3. Note this uses the TRIM function to remove the leading space with a decimal value. |
=TEXT(12200000,"0.00E+00") |
Scientific notation, like 1.22E+07 |
=TEXT(1234567898,"[<=9999999]###-####;(###) ###-####") |
Special (Phone number), like (123) 456-7898 |
=TEXT(1234,"0000000") |
Add leading zeros (0), like 0001234 |
=TEXT(123456,"##0° 00' 00''") |
Custom - Latitude/Longitude |
: Although you can use the TEXT function to change formatting, it’s not the only way. You can change the format without a formula by pressing CTRL+1 (or +1 on the Mac), then pick the format you want from the Format Cells > Number dialog box.
Download our examples
You can download an example workbook with all of the TEXT function examples you'll find in this article, plus some extras. You can follow along, or create your own TEXT function format codes.Download Excel TEXT function examples
Other format codes that are available
You can use the Format Cells dialog box to find the other available format codes:
-
Press Ctrl+1 (+1 on the Mac) to bring up the Format Cells dialog box.
-
Select the format you want from the Number tab.
-
Select the Custom option.
-
The format code you want is now shown in the Type box. In this case, select everything from the Type box except the semicolon (;) and @ symbol. In the example below, we selected and copied just mm/dd/yy.
-
Press Ctrl+C to copy the format code, and then press Cancel to dismiss the Format Cells dialog box.
-
Now, all you need to do is press Ctrl+V to paste the format code into your TEXT formula, like: =TEXT(B2,"mm/dd/yy"). Make sure that you paste the format code within quotes ("format code"), otherwise Excel will give you an error message.
Format codes by category
Following are some examples of how you can apply different number formats to your values by using the Format Cells dialog box, and then use the Custom option to copy those format codes to your TEXT function.
Common scenario
The TEXT function is rarely used by itself, and is most often used in conjunction with something else. Let’s say you want to combine text and a number value, like “Report Printed on: 03/14/12”, or “Weekly Revenue: $66,348.72”. You could type that into Excel manually, but that defeats the purpose of having Excel do it for you. Unfortunately, when you combine text and formatted numbers, like dates, times, currency, etc., Excel doesn’t know how you want to display them, so it drops the number formatting. This is where the TEXT function is invaluable, because it allows you to force Excel to format the values the way you want by using a format code, like "MM/DD/YY" for date format.
In the following example, you’ll see what happens if you try to join text and a number without using the TEXT function. In this case, we’re using the ampersand (&) to concatenate a text string, a space (" "), and a value with =A2&" "&B2.
As you can see, Excel removed the formatting from the date in cell B2. In the next example, you'll see how the TEXT function lets you apply the format you want.
Our updated formula is:
-
Cell C2:=A2&" "&TEXT(B2,"mm/dd/yy") - Date format
Frequently Asked Questions
Unfortunately, you can’t do that with the TEXT function; you need to use Visual Basic for Applications (VBA) code. The following link has a method: How to convert a numeric value into English words in Excel.
Yes, but it takes a few steps. First, select the cell or cells where you want this to happen and use Ctrl+1 to bring up the Format > Cells dialog box, then Alignment > Text control > check the Wrap Text option. Next, adjust your completed TEXT function to include the ASCII function CHAR(10) where you want the line break. You might need to adjust your column width depending on how the final result aligns.
In this case, we used: ="Today is: "&CHAR(10)&TEXT(TODAY(),"mm/dd/yy")
This is called Scientific Notation, and Excel automatically converts numbers longer than 12 digits if a cell(s) is formatted as General, and 15 digits if a cell(s) is formatted as a Number. If you need to enter long numeric strings, but don't want them converted, format the cells in question as Text before you input or paste your values into Excel.
Mynda Recommends... If you share Excel files and reports with users from different countries, then you might want to give them a report in their language. Excel MVP, Mynda Treacy has a great solution in this Excel Dates Displayed in Different Languages article. It also includes a sample workbook you can download. |
See Also
Create or delete a custom number format