## Summary

To pad a number with a variable number of zeros, you can use a formula based on the TEXT function and the REPT function. In the example show, the formula in D5 is:

``````=TEXT(B5,REPT("0",C5))
``````

As the formula is copied down, the numbers in column B are padded with a progressively larger number of zeros based on the number in column C. Note that the result is a text value.

## Generic formula

``=TEXT(A1,REPT("0",n))``

## Explanation

In this example, the goal is to pad a number with zeros. To illustrate how Excel functions can be combined, the number of zeros to use is variable, and comes from column C. The formula used to solve this problem combines the TEXT function and the REPT function.

### Fixed number

The TEXT function returns a number formatted as text, using the number format provided. The TEXT function can apply number formats of any kind to numbers. It is most often used when you want to maintain number formatting for a number when concatenating that number with other text. For example to use the TEXT function to pad a number 3, 4, and 5 zeros:

``````=TEXT(17,"000") // returns "017"
=TEXT(17,"0000") // returns "0017"
=TEXT(17,"00000") // returns "00017"
``````

Notice the number format works by adding adding zeros to the left as needed to reach the total number of zeros supplied.

### Variable number

To allow a variable number of zeros based on a number in another cell, we can add the REPT function into the mix. The REPT function simply repeats a text string a given number of times:

``````=REPT("a",2) // returns "aa"
=REPT("a",3) // returns "aaa"
=REPT("a",4) // returns "aaaa"
``````

So to pad a number with 5 zeros, we can use REPT to assemble the five zeros into  the text"00000":

``````=TEXT(17,REPT("0",5)) // returns "00017"
``````

The formula used in the example shown is simply a variation on the above formula. The formula in E9 evaluates like this:

``````=TEXT(B9,REPT("0",C9))
=TEXT(29,REPT("0",5))
=TEXT(29,"00000")
="00029"
``````

### Other characters

You can adapt this formula to use any character you like:

``````=TEXT(29,REPT("*",5)) // returns "***29"
=TEXT(29,REPT("-",5)) // returns "---29"
``````

`Format cells > Number > Custom > "00000"`