*This tutorial explains the basics of the Excel number format and provides the detailed guidance to create custom formatting. You will learn how to show the required number of decimal places, change alignment or font color, display a currency symbol, round numbers by thousands, show leading zeros, and much more. *

Microsoft Excel has a lot of built-in formats for number, currency, percentage, accounting, dates and times. But there are situations when you need something very specific. If none of the inbuilt Excel formats meets your needs, you can create your own number format.

Number formatting in Excel is a very powerful tool, and once you learn how to use it property, your options are almost unlimited. The aim of this tutorial is to explain the most essential aspects of Excel number format and set you on the right track to mastering custom number formatting.

## How to create a custom number format in Excel

To create a custom Excel format, open the workbook in which you want to apply and store your format, and follow these steps:

- Select a cell for which you want to create custom formatting, and press Ctrl+1 to open the
*Format Cells*dialog. - Under
*Category*, select**Custom**. - Type the format code in the
*Type*box. - Click OK to save the newly created format.

Done!

Tip. Instead of creating a custom number format from scratch, you choose a built-in Excel format close to your desired result, and customize it.

Wait, wait, but what do all those symbols in the *Type* box mean? And how do I put them in the right combination to display the numbers the way I want? Well, this is what the rest of this tutorial is all about :)

## Understanding Excel number format

To be able to create a custom format in Excel, it is important that you understand how Microsoft Excel sees the number format.

An Excel number format consists of 4 sections of code, separated by semicolons, in this order:

`POSITIVE; NEGATIVE; ZERO; TEXT`

Here's an example of a custom Excel format code:

- Format for positive numbers (display 2 decimal places and a thousands separator).
- Format for negative numbers (the same as for positive numbers, but enclosed in parentheses).
- Format for zeros (display dashes instead of zeros).
- Format for text values (display text in magenta font color).

### Excel formatting rules

When creating a custom number format in Excel, please remember these rules:

- A custom Excel number format changes only the
**visual representation**, i.e. how a value is displayed in a cell. The underlying value stored in a cell is not changed. - When you are
**customizing**a built-in Excel format, a copy of that format is created. The original number format cannot be changed or deleted. - Excel custom number format does not have to include all four sections.
If a custom format contains just

**1 section**, that format will be applied to all number types - positive, negative and zeros.If a custom number format includes

**2 sections**, the first section is used for positive numbers and zeros, and the second section - for negative numbers.A custom format is applied to

**text values**only if it contains all four sections. - To apply the
**default**Excel number format for any of the middle sections, type**General**instead of the corresponding format code.For example, to display zeros as dashes and show all other values with the default formatting, use this format code:

`General; -General; "-"; General`

Note. The General format included in the 2

^{nd}section of the format code does not display the minus sign, therefore we include it in the format code. - To
**hide**a certain value type(s), skip the corresponding code section, and only type the ending semicolon.For example, to hide zeros and negative values, use the following format code:

`General; ; ; General`

. As the result, zeros and negative value will appear only in the formula bar, but will not be visible in cells. - To
**delete**a custom number format, open the*Format Cells*dialog, select*Custom*in the*Category*list, find the format you want to delete in the*Type*list, and click the**Delete**button.

### Digit and text placeholders

For starters, let's learn 4 basic placeholders that you can use in your custom Excel format.

Code | Description | Example |

0 | Digit placeholder that displays insignificant zeros. | #.00 - always displays 2 decimal places.
If you type 5.5 in a cell, it will display as 5.50. |

# | Digit placeholder that only displays significant digits, without extra zeros.
That is, if a number doesn't need a certain digit, it won't be displayed. |
#.## - displays up to 2 decimal places.
If you type 5.5 in a cell, it will display as 5.5. If you type 5.555, it will display as 5.56. |

? | Digit placeholder that leaves a space for insignificant zeros on either side of the decimal point but doesn't display them. It is often used to align numbers in a column by decimal point. | #.??? - displays a maximum of 3 decimal places and aligns numbers in a column by decimal point. |

@ | Text placeholder | 0.00; -0.00; 0; [Red]@ - applies the red font color for text values. |

The following screenshot demonstrates a few number formats in action:

As you may have noticed in the above screenshot, the digit placeholders behave in the following way:

- If a number entered in a cell has more digits
**to the right of the decimal point**than there are placeholders in the format, the number is "rounded" to as many decimal places as there are placeholders.For example, if you type 2.25 in a cell with

**#.#**format, the number will display as 2.3. - All digits
**to the left of the decimal point**are displayed regardless of the number of placeholders.For example, if you type 202.25 in a cell with

**#.#**format, the number will display as 202.3.

Below you will find a few more examples that will hopefully shed more light on number formatting in Excel.

Format | Description | Input value | Display as |

#.00 | Always display 2 decimal places. | 2 2.5 0.5556 |
2.00 2.50 .56 |

#.## | Shows up to 2 decimal places, without insignificant zeros. | 2 2.5 0.5556 |
2. 2.5 0.56 |

#.0# | Display a minimum of 1 and a maximum of 2 decimal places. | 2 2.205 0.555 |
2.0 2.21 .56 |

???.??? | Display up to 3 decimal places with aligned decimals. |
22.55 2.5 2222.5555 0.55 |
22.55 2.5 2222.556 .55 |

## Excel formatting tips and guidelines

Theoretically, there are an infinite number of Excel custom number formats that you can make using a predefined set of formatting codes listed in the table below. And the following tips explain the most common and useful implementations of these format codes.

Format Code | Description |

General | General number format |

# | Digit placeholder that represents optional digits and does not display extra zeros. |

0 | Digit placeholder that displays insignificant zeros. |

? | Digit placeholder that leaves a space for insignificant zeros but doesn't display them. |

@ | Text placeholder |

. (period) | Decimal point |

, (comma) | Thousands separator. A comma that follows a digit placeholder scales the number by a thousand. |

\ | Displays the character that follows it. |

" " | Display any text enclosed in double quotes. |

% | Multiplies the numbers entered in a cell by 100 and displays the percentage sign. |

/ | Represents decimal numbers as fractions. |

E | Scientific notation format |

_ (underscore) | Skips the width of the next character. It's commonly used in combination with parentheses to add left and right indents, _( and _) respectively. |

* (asterisk) | Repeats the character that follows it until the width of the cell is filled. It's often used in combination with the space character to change alignment. |

[] | Create conditional formats. |

### How to control the number of decimal places

The location of the **decimal point** in the number format code is represented by a **period** (.). The required number of **decimal places** is defined by **zeros** (0). For example:

`0`

or`#`

- display the nearest integer with no decimal places.`0.0`

or`#.0`

- display 1 decimal place.`0.00`

or`#.00`

- display 2 decimal places, etc.

The difference between 0 and # in the integer part of the format code is as follows. If the format code has only pound signs (#) to the left of the decimal point, numbers less than 1 begin with a decimal point. For example, if you type 0.25 in a cell with **#.00** format, the number will display as .25. If you use **0.00** format, the number will display as 0.25.

### How to show a thousands separator

To create an Excel custom number format with a thousands separator, include a **comma** (,) in the format code. For example:

`#,###`

- display a thousands separator and no decimal places.`#,##0.00`

- display a thousands separator and 2 decimal places.

### Round numbers by thousand, million, etc.

As demonstrated in the previous tip, Microsoft Excel separates thousands by commas if a comma is enclosed by any digit placeholders - pound sign (#), question mark (?) or zero (0). If no digit placeholder follows a comma, it scales the number by thousand, two consecutive commas scale the number by million, and so on.

For example, if a cell format is **#.00,** and you type 5000 in that cell, the number 5.00 is displayed. For more examples, please see the screenshot below:

### Text and spacing in custom Excel number format

To display both text and numbers in a cell, do the following:

- To add a
**single character**, precede that character with a backslash (\). - To add a
**text string**, enclose it in double quotation marks (" ").

For example, to indicate that numbers are rounded by thousands and millions, you can add *\K* and *\M* to the format codes, respectively:

- To display thousands:
`#.00,\K`

- To display millions:
`#.00,,\M`

Tip. To make the number format better readable, include a **space** between a comma and backward slash.

The following screenshot shows the above formats and a couple more variations:

And here is another example that demonstrates how to display text and numbers within a single cell. Supposing, you want to add the word "*Increase*" for positive numbers, and "*Decrease*" for negative numbers. All you have to do is include the text enclosed in double quotes in the appropriate section of your format code:

`#.00" Increase"; -#.00" Decrease"; 0`

Tip. To include a **space** between a number and text, type a space character after the opening or before the closing quote depending on whether the text precedes or follows the number, like in "*Increase* ".

In addition, the following characters can be included in Excel custom format codes without the use of backslash or quotation marks:

Symbol | Description |

+ and - | Plus and minus signs |

( ) | Left and right parentheses |

: | Colon |

^ | Caret |

' | Apostrophe |

{ } | Curly brackets |

< > | Less-than and greater than signs |

= | Equal sign |

/ | Forward slash |

! | Exclamation point |

& | Ampersand |

~ | Tilde |

Space character |

A custom Excel number format can also accept other special symbols such as currency, copyright, trademark, etc. These characters can be entered by typing their four-digit ANSI codes while holding down the ALT key. Here are some of the most useful ones:

Symbol | Code | Description |

™ | Alt+0153 | Trademark |

© | Alt+0169 | Copyright symbol |

° | Alt+0176 | Degree symbol |

± | Alt+0177 | Plus-Minus sign |

µ | Alt+0181 | Micro sign |

For example, to display temperatures, you can use the format code **#"°F"** or **#"°C"** and the result will look similar to this:

You can also create a custom Excel format that combines some specific text and the text typed in a cell. To do this, enter the additional text enclosed in double quotes in the 4^{th} section of the format code before or after the text placeholder (@), or both.

For example, to proceed the text typed in the cell with some other text, say "*Shipped in*", use the following format code:

`General; General; General; "Shipped in "@`

### Including currency symbols in a custom number format

To create a custom number format with the dollar sign ($), simply type it in the format code where appropriate. For example, the format **$#.00** will display 5 as $5.00.

Other currency symbols are not available on most of standard keyboards. But you can enter the popular currencies in this way:

- Turn NUM LOCK on, and
- Use the numeric keypad to type the ANSI code for the currency symbol you want to display.

Symbol | Currency | Code |

€ | Euro | ALT+0128 |

£ | British Pound | ALT+0163 |

¥ | Japanese Yen | ALT+0165 |

¢ | Cent Sign | ALT+0162 |

The resulting number formats may look something similar to this:

If you want to create a custom Excel format with some other currency, follow these steps:

- Open the
*Format Cells*dialog, select**Currency**under*Category*, and choose the desired currency from the*Symbol*drop-down list, e.g. Russian Ruble:

- Switch to
**Custom**category, and modify the built-in Excel format the way you want. Or, copy the currency code from the*Type*field, and include it in your own number format:

### How to display leading zeros with Excel custom format

If you try entering numbers 005 or 00025 in a cell with the default *General* format, you would notice that Microsoft Excel removes leading zeros because the number 005 is same as 5. But sometimes, we do want 005, not 5!

The simplest solution is to apply the Text format to such cells. Alternatively, you can type an apostrophe (') in front of the numbers. Either way, Excel will understand that you want any cell value to be treated as a text string. As the result, when you type 005, all leading zeros will be preserved, and the number will show up as 005.

If you want all numbers in a column to contain a certain number of digits, with leading zeros if needed, then create a custom format that includes only zeros.

As you remember, in Excel number format, 0 is the placeholder that displays insignificant zeros. So, if you need numbers consisting of 6 digits, use the following format code: **000000**

And now, if you type 5 in a cell, it will appear as 000005; 50 will appear as 000050, and so on:

Tip. If you are entering phone numbers, zip codes, or social security numbers that contain leading zeros, the easiest way is to apply one of the predefined Special formats. Or, you can create the desired custom number format. For example, to properly display international seven-digit postal codes, use this format: **0000000**. For social security numbers with leading zeros, apply this format:** 000-00-0000**.

### Percentages in Excel custom number format

To display a number as a percentage of 100, include the **percent sign** (%) in your number format.

For example, to display percentages as integers, use this format: **#%**. As the result, the number 0.25 entered in a cell will appear as 25%.

To display percentages with 2 decimal places, use this format: **#.00%**

To display percentages with 2 decimal places and a thousands separator, use this one: **#,##.00%**

### Fractions in Excel number format

Fractions are special in terms that the same number can be displayed in a variety of ways. For example, 1.25 can be shown as 1 ¼ or 5/5. Exactly which way Excel displays the fraction is determined by the format codes that you use.

For decimal numbers to appear as fractions, include **forward slash** (/) in your format code, and separate an integer part with a space. For example:

`# #/#`

- displays a fraction remainder with up to 1 digit.`# ##/##`

- displays a fraction remainder with up to 2 digits.`# ###/###`

- displays a fraction remainder with up to 3 digits.`###/###`

- displays an improper fraction (a fraction whose numerator is larger than or equal to the denominator) with up to 3 digits.

To round fractions to a specific denominator, supply it in your number format code after the slash. For example, to display decimal numbers as eighths, use the following **fixed base** fraction format: **# #/8**

The following screenshot demonstrated the above format codes in action:

As you probably know, the predefined Excel Fraction formats align numbers by the fraction bar (/) and display the whole number at some distance from the remainder. To implement this alignment in your custom format, use the question mark placeholders (?) instead of the pound signs (#) like shown in the following screenshot:

Tip. To enter a fraction in a cell formatted as *General*, preface the fraction with a zero and a space. For instance, to enter 4/8 in a cell, you type 0 4/8. If you type 4/8, Excel will assume you are entering a date, and change the cell format accordingly.

### Create a custom Scientific Notation format

To display numbers in Scientific Notation format (Exponential format), include the capital letter **E** in your number format code. For example:

`00E+00`

- displays 1,500,500 as 1.50E+06.`#0.0E+0`

- displays 1,500,500 as 1.5E+6`#E+#`

- displays 1,500,500 as 2E+6

### Show negative numbers in parentheses

At the beginning of this tutorial, we discussed the 4 code sections that make up an Excel number format: `Positive; Negative; Zero; Text`

Most of the format codes we've discussed so far contained just 1 section, meaning that the custom format is applied to all number types - positive, negative and zeros.

To make a custom format for negative numbers, you'd need to include at least 2 code sections: the first will be used for positive numbers and zeros, and the second - for negative numbers.

To show negative values in parentheses, simply include them in the second section of your format code, for example: `#.00; (#.00)`

Tip. To line up positive and negative numbers at the decimal point, add an indent to the positive values section, e.g. `0.00_); (0.00)`

### Display zeroes as dashes or blanks

The built-in Excel Accounting format shows zeros as dashes. This can also be done in your custom Excel number format.

As you remember, the zero layout is determined by the 3^{rd} section of the format code. So, to force zeros to appear as **dashes**, type **"-"** in that section. For example: `0.00;(0.00);"-"`

The above format code instructs Excel to display 2 decimal places for positive and negative numbers, enclose negative numbers in parentheses, and turn zeros into dashes.

If you don't want any special formatting for positive and negative numbers, type *General* in the 1^{st} and 2^{nd} sections: `General; -General; "-"`

To turn zeroes into **blanks**, skip the third section in the format code, and only type the ending semicolon: `General; -General; ; General`

### Add indents with custom Excel format

If you don't want the cell contents to ride up right against the cell border, you can indent information within a cell. To add an indent, use the **underscore** (_) to create a space equal to the width of the character that follows it.

The commonly used indent codes are as follows:

- To indent from the left border:
**_(** - To indent from the right border:
**_)**

Most often, the right indent is included in a positive number format, so that Excel leaves space for the parentheses enclosing negative numbers.

For example, to indent positive numbers and zeros from the right and text from the left, you can use the following format code:

`0.00_);(0.00); 0_);_(@`

Or, you can add indents on both sides of the cell:

`_(0.00_);_((0.00);_(0_);_(@_)`

To format financial data or other types of data where it's important to distinguish between positive and negative numbers, you can use the following format, which indents positive numbers and zeros from the right border. Additionally, it rounds all numbers to the nearest integer and displays them with a space as a thousand separator. Negative numbers are displayed in parentheses and in red font color:

`# ##0_); [Red](# ##0)`

The indent codes move the cell data by one character width. To move values from the cell edges by more than one character width, include 2 or more consecutive indent codes in your number format. The following screenshot demonstrates indenting cell contents by 1 and 2 characters:

### Change font color with custom number format

Changing the font color for a certain value type is one of the simplest things you can do with a custom number format in Excel, which supports 8 main colors. To specify the color, just type one of the following color names in an appropriate section of your number format code.

[Black] [Green] [White] [Blue] |
[Magenta] [Yellow] [Cyan] [Red] |

Note. The color code must be the **first item** in the section.

For example, to leave the default General format for all value types, and change only the font color, use the format code similar to this:

`[Green]General;[Red]General;[Black]General;[Blue]General`

Or, combine color codes with the desired number formatting, e.g. display the currency symbol, 2 decimal places, a thousands separator, and show zeros as dashes:

`[Blue]$#,##0.00; [Red]-$#,##0.00; [Black]"-"; [Magenta]@`

### Repeat characters with custom format codes

To repeat a specific character in your custom Excel format so that it fills the column width, type an **asterisk** (*) before the character.

For example, to include enough equality signs after a number to fill the cell, use this number format: **#*=**

Or, you can include leading zeros by adding *0 before any number format, e.g. ***0#**

This formatting technique is commonly used to change cell alignment as demonstrated in the next formatting tip.

### How to change alignment in Excel with custom number format

A usual way to change alignment in Excel is using the *Alignment* tab on the ribbon. However, you can "hardcode" cell alignment in a custom number format if needed.

For example, to align numbers left in a cell, type an **asterisk** and a **space** after the number code, for example: "**#,###* **" (double quotes are used only to show that an asterisk is followed by a space, you don't need them in a real format code).

Making a step further, you could have numbers aligned left and text entries aligned right using this custom format:

`#,###* ; -#,###* ; 0* ;* @`

This method is used in the built-in Excel Accounting format . If you apply the Accounting format to some cell, then open the *Format Cells* dialog, switch to the *Custom* category and look at the *Type* box, you will see this format code:

`_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`

The asterisk that follows the currency sign tells Excel to repeat the subsequent space character until the width of a cell is filled. This is why the Accounting number format aligns the currency symbol to the left, number to the right, and adds as many spaces as necessary in between.

### Apply custom number formats based on conditions

To have your custom Excel format applied only if a number meets a certain condition, type the condition consisting of a comparison operator and a value, and enclose it in **square brackets** [].

For example, to displays numbers that are less than 10 in a red font color, and numbers that are greater than or equal to 10 in a green color, use this format code:

`[Red][<10];[Green][>=10]`

Additionally, you can specify the desired number format, e.g. show 2 decimal places:

`[Red][<10]0.00;[Green][>=10]0.00`

And here is another extremely useful, though rarely used formatting tip. If a cell displays both numbers and text, you can make a conditional format to show a noun in a singular or plural form depending on the number. For example:

`[=1]0" mile";0.##" miles"`

The above format code works as follows:

- If a cell value is equal to 1, it will display as "
*1 mile*". - If a cell value is greater than 1, the plural form "
*miles*" will show up. Say, the number 3.5 will display as "*3.5 miles*".

Taking the example further, you can display fractions instead of decimals:

`[=1]?" mile";# ?/?" miles"`

In this case, the value 3.5 will appear as "*3 1/2 miles*".

Tip. To apply more sophisticated conditions, use Excel's Conditional Formatting feature, which is specially designed to handle the task.

### Dates and times formats in Excel

Excel date and times formats are a very specific case, and they have their own format codes. For the detailed information and examples, please check out the following tutorials:

- How to create a custom date format in Excel
- How to create a custom time format in Excel
- Get day of week from date using custom format

Well, this is how you can change number format in Excel and create your own formatting. Finally, here's a couple of tips to quickly apply your custom formats to other cells and workbooks:

- A custom Excel format is
**stored in the workbook**in which it is created and is not available in any other workbook. To use a custom format in a new workbook, you can save the current file as a template, and then use it as the basis for a new workbook. - To apply a custom format to other cells in a click, save it as an
**Excel style**- just select any cell with the required format, go to the*Home*tab >*Styles*group, and click*New Cell Style…*.

To explore the formatting tips further, you can download a copy of the Excel Custom Number Format workbook we used in this tutorial. I thank you for reading and hope to see you again next week!

## 632 comments

Yeah hii!... Can some one show the method to add 12.00.02 +11.01.23.... so on numbers using custom formatting in excel.. Could come in handy

Thank you for this valuable tutorial! I have a tricky question regarding numbers. How can I format a cell to show a number with up to 4 decimal places, but if it's an integer show no decimal place and no decimal point? I've come up with this code #,##0.####_ ;[Red]-#,##0.#### and it works great for decimals, but integer numbers are showing the decimal point (e.g. 5 shows as 5.)

What I want would be:

5.1 shows as 5.1

5.123 shows as 5.123

5.1234 shows as 5.1234

5.12345 shows as 5.1235 (rounded up)

5 shows as 5

5.0 shows as 5

Is it possible? Thank you!

Hi! It is not possible to combine completely different formats in a single number format code. My recommendation is to create a separate conditional formatting rule for each number format.

Here is the instruction that may be helpful to you: Apply multiple rules to same cells

i want to write in excel 123456789 and the results shall be 123***789

very complete explanation. congrats. I pinned your site in my browser

Please help on how to create custom formatting using @ with a number for using in comment to excel modellling

Hi! Please clarify your problem or provide additional details to highlight exactly what you need.

Hi - thank you for the article.

I am trying to show either percentage or a number based on the value, and it works fine with this format (danish seperators):

[=1000]#.##0;#.##0,00

Unfortunately, when I begin to type in the cell, it always shows percentages, until I hit enter. To write 130 I must type 13000% (the percentages sign is added automatically). Is there any way to have the number format as default value when typing?

Hello Lasse!

Unfortunately, I don't really understand how you can use this format code to show percentages in a cell. To use different formats in cell depending on the value, I recommend using conditional formatting.

Well, my bad - I might not have copied the whole line:

[=1000]#.##0;#.##0,00

This should work. All numbers below or equal to 1 will be shown as percentages, while numbers greater than 1000 will be displayed with a separator and no decimals. Otherwise, there will be decimals.

I will try conditional formatting instead - thanks.

Well, something is filtered out when sending the post - probably because I am not allowed to post specific combination of signs/letters...

Need cell format for showing lakhs into millions

Hi! To show a number in millions, you can use this custom format:

#,##0,," M"

Hi ~

I have successfully used the custom method to add preceding zeros to a cells in a column containing 9 digits (SSNs). Although it displays correctly on the spreadsheet, it reverts when I re-open the file. I have tried to convert the column to text, but the zeros still disappear after saving and re-opening. The formula window also does not show the zeros. I can't use the special SSN formatting because the import does not accept the hyphens between the digits. Can you help, please?

Hi! I don't know what method you are using to add leading zeros. I think this guide will help you solve the problem: Leading zeros in Excel: how to add, remove and hide.

I hope it’ll be helpful. If this is not what you wanted, please describe the problem in more detail.

Need cell format which show % and value in same cell as per section even cell value is zero. [>=1] #,##0;[>0] 0%;0

Hi! To understand what you want to do, give an example of the source data and the expected result.

How do you add a zero. For example, i need to type 1405.5 and it come out to 14'05.5''

Dear Sir,

is it possible, in cell which have three lines (rows) inside, to color every line in different color or some lines to be bold some not?

Thank You, in advance.

Hi! You can change the format of part of the text string inside a cell either manually or by using VBA code.

Ok, thank You.

So there is no way to do that in custom formating?

Something like, [Red] @ ALT+0010 [Blue] @

I will try in VBA...

Hi! Custom formatting changes the format of the entire cell, not a part of the text in the cell.

Hi. Great article :)

If you're still answering questions, i've got one for you: i have this: 721201690 which needs to be converted to this 0721 201 690.

I found out how to do this [<=9999999]###########;0#### ### ###, but i want the format to be applied only to numbers from 7200000000 to 799999999, and to the rest no format.

Is it possbile to have a range

Hi! To apply custom number format only for certain values, use conditional formatting. Create a rule that applies this format only to numbers that are within the specified range. For example: AND(A1>7200000000,A1<799999999)

The following tutorial should help: Excel Conditional Formatting tutorial with examples.