Spreadsheets are used by many people in their daily jobs, making them an important element of their office. While the majority of people use spreadsheets in a reasonably basic manner, some advanced users find it difficult or complicated to **convert number to words** in Excel. In this guide, we have addressed this issue and provided** four **different methods to **convert number to words** in Excel. Furthermore, there are **three** more methods for **converting numbers into text formats**.

**Table of Contents**hide

## Download Workbook

You can download the workbook that we used in this article from below and practice with it by yourself.

## 4 Ways to Convert Number to Words in Excel

This section of the article explains how to convert numbers to words in Excel. Moreover, we’re going to demonstrate **four **techniques to perform the operation. For conducting the session, we’re going to use **Microsoft 365 version**.

### 1. Use of Combined Functions in Excel to Convert Number to Words

The Excel formula that we used here relies on **four** functions. The **LEFT****, ****MID****, ****TEXT****,** and **CHOOSE** functions.

Firstly, syntax of the** LEFT** function is as follows:

Basically, this function is used to extract characters from text.

**=LEFT (text, [num_chars])**

**Text:** The text string to extract the characters from.

**num_chars** **[Optional]:** The number of characters to extract. It starts from the left. By default, **num_chars=1**.

Secondly, the syntax of the **MID** function is as follows:

Actually, this function is used to extract text from inside a string.

**=MID (text, start_num, num_chars)**

**Text:** The text to extract from.

**start_num:** The location of the first character to extract.

**num_chars:** The number of characters to extract.

Thirdly, the syntax of the **TEXT** function is as follows:

Eventually, this function converts a number into a text in number format.

**=TEXT (value, format_text)**

**value:** The number to convert.

**format_text:** The number format to use.

Next, the syntax of the **CHOOSE** function is as follows:

This function gets a value from a list based on position.

**=CHOOSE (index_num, value1, [value2], …)**

**index_num:** The value to choose. A number between** 1** and **254**.

**value1:** The first value from which to choose.

**value2 [optional]:** The second value from which to choose.

- Here, we will convert the number in the
**Numbers in Words**column.

- Now, write down the following formula in the
**C5**cell.

**=CHOOSE(LEFT(TEXT(B5,”000000000.00″))+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”)**

**&IF(–LEFT(TEXT(B5,”000000000.00″))=0,,IF(AND(–MID(TEXT(B5,”000000000.00″),2,1)=0,–MID(TEXT(B5,”000000000.00″),3,1)=0),” Hundred”,” Hundred and “))**

**&CHOOSE(MID(TEXT(B5,”000000000.00″),2,1)+1,,,”Twenty “,”Thirty “,”Forty “,”Fifty “,”Sixty “,”Seventy “,”Eighty “,”Ninety “)**

**&IF(–MID(TEXT(B5,”000000000.00″),2,1)<>1,CHOOSE(MID(TEXT(B5,”000000000.00″),3,1)+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”),**

**CHOOSE(MID(TEXT(B5,”000000000.00″),3,1)+1,”Ten”,”Eleven”,”Twelve”,”Thirteen”,”Fourteen”,”Fifteen”,”Sixteen”,”Seventeen”,”Eighteen”,”Nineteen”))**

**&IF((–LEFT(TEXT(B5,”000000000.00″))+MID(TEXT(B5,”000000000.00″),2,1)+MID(TEXT(B5,”000000000.00″),3,1))=0,,IF(AND((–MID(TEXT(B5,”000000000.00″),4,1)+MID(TEXT(B5,”000000000.00″),5,1)+MID(TEXT(B5,”000000000.00″),6,1)+MID(TEXT(B5,”000000000.00″),7,1))=0,(–MID(TEXT(B5,”000000000.00″),8,1)+RIGHT(TEXT(B5,”000000000.00″)))>0),” Million and “,” Million “))**

**&CHOOSE(MID(TEXT(B5,”000000000.00″),4,1)+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”)**

**&IF(–MID(TEXT(B5,”000000000.00″),4,1)=0,,IF(AND(–MID(TEXT(B5,”000000000.00″),5,1)=0,–MID(TEXT(B5,”000000000.00″),6,1)=0),” Hundred”,” Hundred and”))**

**&CHOOSE(MID(TEXT(B5,”000000000.00″),5,1)+1,,,” Twenty”,” Thirty”,” Forty”,” Fifty”,” Sixty”,” Seventy”,” Eighty”,” Ninety”)**

**&IF(–MID(TEXT(B5,”000000000.00″),5,1)<>1,CHOOSE(MID(TEXT(B5,”000000000.00″),6,1)+1,,” One”,” Two”,” Three”,” Four”,” Five”,” Six”,” Seven”,” Eight”,” Nine”),CHOOSE(MID(TEXT(B5,”000000000.00″),6,1)+1,” Ten”,” Eleven”,” Twelve”,” Thirteen”,” Fourteen”,” Fifteen”,” Sixteen”,” Seventeen”,” Eighteen”,” Nineteen”))**

**&IF((–MID(TEXT(B5,”000000000.00″),4,1)+MID(TEXT(B5,”000000000.00″),5,1)+MID(TEXT(B5,”000000000.00″),6,1))=0,,IF(OR((–MID(TEXT(B5,”000000000.00″),7,1)+MID(TEXT(B5,”000000000.00″),8,1)+MID(TEXT(B5,”000000000.00″),9,1))=0,–MID(TEXT(B5,”000000000.00″),7,1)<>0),” Thousand “,” Thousand and “))**

**&CHOOSE(MID(TEXT(B5,”000000000.00″),7,1)+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”)**

**&IF(–MID(TEXT(B5,”000000000.00″),7,1)=0,,IF(AND(–MID(TEXT(B5,”000000000.00″),8,1)=0,–MID(TEXT(B5,”000000000.00″),9,1)=0),” Hundred “,” Hundred and “))&**

**CHOOSE(MID(TEXT(B5,”000000000.00″),8,1)+1,,,”Twenty “,”Thirty “,”Forty “,”Fifty “,”Sixty “,”Seventy “,”Eighty “,”Ninety “)**

**&IF(–MID(TEXT(B5,”000000000.00″),8,1)<>1,CHOOSE(MID(TEXT(B5,”000000000.00″),9,1)+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”),CHOOSE(MID(TEXT(B5,”000000000.00″),9,1)+1,”Ten”,”Eleven”,”Twelve”,”Thirteen”,”Fourteen”,”Fifteen”,”Sixteen”,”Seventeen”,”Eighteen”,”Nineteen”))**

The entire formula may appear complicated at first glance, yet it is essentially a repetition of a single portion. So, if you can understand the** first** portion of the formula, you should be able to understand the rest.

- Subsequently, press
**ENTER**.

As a result, you will see the following output.

**Formula Breakdown:**

At first, the **TEXT **function is used here to turn the number into a **“000000000.00”** text format.

**TEXT(B7,”000000000.00″)**

After that, the** LEFT** function is used to extract the left-most character from the number. It allows us to identify if the return number is **zero** or any other value.

**LEFT(TEXT(B7,”000000000.00″))**

Next, the **CHOOSE** function is used to represent the extracted number with appropriate words.

**CHOOSE(LEFT(TEXT(B7,”000000000.00″))+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”)**

Now, it checks if the value is **zero** or not. If it is **zero** then it displays nothing.

**CHOOSE(LEFT(TEXT(B7,”000000000.00″))+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”)**

**&IF(–LEFT(TEXT(B7,”000000000.00″))=0,,**

It will display** “Hundred”** if the next **two **numbers are **zero**. Otherwise, it will display** “Hundred and.”**

**CHOOSE(LEFT(TEXT(B7,”000000000.00″))+1,,”One”,”Two”,”Three”,”Four”,”Five”,”Six”,”Seven”,”Eight”,”Nine”)**

**&IF(–LEFT(TEXT(B7,”000000000.00″))=0,,IF(AND(–MID(TEXT(B7,”000000000.00″),2,1)=0,–MID(TEXT(B7,”000000000.00″),3,1)=0),” Hundred”,” Hundred and “))**

This formula does not require** VBA **or arrays. It’s an excellent method for turning numbers into words. However, it has** two** flaws. One, it can’t perfectly represent decimal numbers after points. Two, the maximum number limit is **999, 999, 999**. Actually, **Mr. Pete M. **came up with this formula.

- Now, you can write the formula for the rest of the rows or simply use
**Excel AutoFill Feature**.

Lastly, you will get all the** converted numbers into words**.

**Read More:** **How to Convert Number to Text with 2 Decimal Places in Excel (5 Ways)**

### 2. Applying VLOOKUP Function to Convert Numbers to Words

You can apply **the VLOOKUP** function to** convert numbers to words **in Excel. Let’s do something different. Here, you have to insert all the numbers in words first then you may use this function to convert any number into words from them.

**Steps:**

- Firstly, write down all the numbers in words manually in the
**C column**.

- Now, use the following formula in the
**C12**cell.

`=VLOOKUP(B12,B4:C9,2,FALSE)`

- Then, press
**ENTER**.

**Formula Breakdown**

In this formula, the **VLOOKUP** function will return a value from a given array.

- Firstly,
**B12**is the lookup value that it looks for in the given table. - Secondly,
**B4:C9**is the**table array**in which it looks for the**target value**. - Thirdly,
**2**is the number of columns in the table from which a value is to be returned. - Fourthly,
**False**denotes an**exact**match.

**Read More:** **How to Convert Number to Text for VLOOKUP in Excel (2 Ways)**

**Similar Readings**

**How to Convert Number to Text in Excel with Apostrophe****Convert Number to Text with Green Triangle in Excel****How to Convert Number to Text with Commas in Excel (3 Easy Methods)****Convert Number to Text without Scientific Notation in Excel****How to Convert Peso Number to Words in Excel (With Easy Steps)**

### 3. Using a VBA to convert Number to words in Excel

The most interesting part is that you can build your **own function** to** convert the numbers to words **in Excel. Moreover, you can employ **the VBA code** to develop a **defined **function. The steps are given below.

- Firstly, you have to choose the
**Developer**tab >> then select**Visual Basic.**

- Now, from the
**Insert**tab >> you have to select**Module**.

- At this time, you need to write down the following
**Code**in the**Module**.

```
Function number_converting_into_words(ByVal MyNumber)
Dim x_string As String
Dim whole_num As Integer
Dim x_string_pnt
Dim x_string_Num
Dim x_pnt As String
Dim x_numb As String
Dim x_P() As Variant
Dim x_DP
Dim x_cnt As Integer
Dim x_output, x_T As String
Dim x_my_len As Integer
On Error Resume Next
x_P = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
x_numb = Trim(Str(MyNumber))
x_DP = InStr(x_numb, ".")
x_pnt = ""
x_string_Num = ""
If x_DP > 0 Then
x_pnt = " point "
x_string = Mid(x_numb, x_DP + 1)
x_string_pnt = Left(x_string, Len(x_numb) - x_DP)
For whole_num = 1 To Len(x_string_pnt)
x_string = Mid(x_string_pnt, whole_num, 1)
x_pnt = x_pnt & get_digit(x_string) & " "
Next whole_num
x_numb = Trim(Left(x_numb, x_DP - 1))
End If
x_cnt = 0
x_output = ""
x_T = ""
x_my_len = 0
x_my_len = Int(Len(Str(x_numb)) / 3)
If (Len(Str(x_numb)) Mod 3) = 0 Then x_my_len = x_my_len - 1
Do While x_numb <> ""
If x_my_len = x_cnt Then
x_T = get_hundred_digit(Right(x_numb, 3), False)
Else
If x_cnt = 0 Then
x_T = get_hundred_digit(Right(x_numb, 3), True)
Else
x_T = get_hundred_digit(Right(x_numb, 3), False)
End If
End If
If x_T <> "" Then
x_output = x_T & x_P(x_cnt) & x_output
End If
If Len(x_numb) > 3 Then
x_numb = Left(x_numb, Len(x_numb) - 3)
Else
x_numb = ""
End If
x_cnt = x_cnt + 1
Loop
x_output = x_output & x_pnt
number_converting_into_words = x_output
End Function
Function get_hundred_digit(xHDgt, y_b As Boolean)
Dim x_R_str As String
Dim x_string_Num As String
Dim x_string As String
Dim y_I As Integer
Dim y_bb As Boolean
x_string_Num = xHDgt
x_R_str = ""
On Error Resume Next
y_bb = True
If Val(x_string_Num) = 0 Then Exit Function
x_string_Num = Right("000" & x_string_Num, 3)
x_string = Mid(x_string_Num, 1, 1)
If x_string <> "0" Then
x_R_str = get_digit(Mid(x_string_Num, 1, 1)) & "Hundred "
Else
If y_b Then
x_R_str = "and "
y_bb = False
Else
x_R_str = " "
y_bb = False
End If
End If
If Mid(x_string_Num, 2, 2) <> "00" Then
x_R_str = x_R_str & get_ten_digit(Mid(x_string_Num, 2, 2), y_bb)
End If
get_hundred_digit = x_R_str
End Function
Function get_ten_digit(x_TDgt, y_b As Boolean)
Dim x_string As String
Dim y_I As Integer
Dim x_array_1() As Variant
Dim x_array_2() As Variant
Dim x_T As Boolean
x_array_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
x_array_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
x_string = ""
x_T = True
On Error Resume Next
If Val(Left(x_TDgt, 1)) = 1 Then
y_I = Val(Right(x_TDgt, 1))
If y_b Then x_string = "and "
x_string = x_string & x_array_1(y_I)
Else
y_I = Val(Left(x_TDgt, 1))
If Val(Left(x_TDgt, 1)) > 1 Then
If y_b Then x_string = "and "
x_string = x_string & x_array_2(Val(Left(x_TDgt, 1)))
x_T = False
End If
If x_string = "" Then
If y_b Then
x_string = "and "
End If
End If
If Right(x_TDgt, 1) <> "0" Then
x_string = x_string & get_digit(Right(x_TDgt, 1))
End If
End If
get_ten_digit = x_string
End Function
Function get_digit(xDgt)
Dim x_string As String
Dim x_array_1() As Variant
x_array_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
x_string = ""
On Error Resume Next
x_string = x_array_1(Val(xDgt))
get_digit = x_string
End Function
```

- Now, you have to save the
**code**. - Then, you need to go to the
**Excel worksheet**.

At this time, you can use your **defined **function. For this, you should follow the given steps.

**Steps:**

- Now, select the cell you want to show the converted output. (In our case, cell
**C5**). - Then, enter the
**Equal sign (=)**in the cell. It should enable you to type formulas. - After that, type in “
**=number_converting_into_words**” or select the**number_converting_into_words**function from the drop-down menu. - Subsequently, select the cell with the number value that you want to convert into words (In our case, cell
**B5**). - Finally, hit the
**ENTER**button.

As a result, it will convert your selected cell number into the corresponding words. Lastly, you can simply copy this formula to the rest of the cells as well.

**Read More:** **How to Convert a Numeric Value into English Words in Excel**

### 4. Employing VBA for Wording Currencies in Excel

This method is similar to the last one. It also works by inserting a module using **VBA (Visual Basic for Application) **and using it as a function. Where it differs from the last method is that it **converts the numbers into appropriate currency words.** Furthermore, an example is given below.

**375.65=Three Hundred Seventy Five Dollars and Sixty Five Cents**

Now, follow these steps to apply this method:

- Firstly, follow
**method-3**to insert the module. - Secondly, write down the following code in
**Module 2**.

```
Function Convert_Number_into_word_with_currency(ByVal whole_number)
Dim converted_into_dollar, converted_into_cent
my_ary = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
whole_number = Trim(Str(whole_number))
x_decimal = InStr(whole_number, ".")
If x_decimal > 0 Then
converted_into_cent = get_ten(Left(Mid(whole_number, x_decimal + 1) & "00", 2))
whole_number = Trim(Left(whole_number, x_decimal - 1))
End If
xIndex = 1
Do While whole_number <> ""
xHundred = ""
xValue = Right(whole_number, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = get_digit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & get_ten(Mid(xValue, 2))
Else
xHundred = xHundred & get_digit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
converted_into_dollar = xHundred & my_ary(xIndex) & Dollar
End If
If Len(whole_number) > 3 Then
whole_number = Left(whole_number, Len(whole_number) - 3)
Else
whole_number = ""
End If
xIndex = xIndex + 1
Loop
Select Case converted_into_dollar
Case ""
converted_into_dollar = " Zero Dollar"
Case "One"
converted_into_dollar = " One Dollar"
Case Else
converted_into_dollar = converted_into_dollar & "Dollars"
End Select
Select Case converted_into_cent
Case ""
converted_into_cent = " and Zero Cent"
Case "One"
converted_into_cent = " and One Cent"
Case Else
converted_into_cent = " and " & converted_into_cent & "Cents"
End Select
Convert_Number_into_word_with_currency = converted_into_dollar & converted_into_cent
End Function
Function get_ten(pTens)
Dim my_output As String
my_output = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
Case 10: my_output = "Ten"
Case 11: my_output = "Eleven"
Case 12: my_output = "Twelve"
Case 13: my_output = "Thirteen"
Case 14: my_output = "Fourteen"
Case 15: my_output = "Fifteen"
Case 16: my_output = "Sixteen"
Case 17: my_output = "Seventeen"
Case 18: my_output = "Eighteen"
Case 19: my_output = "Nineteen"
Case Else
End Select
Else
Select Case Val(Left(pTens, 1))
Case 2: my_output = "Twenty "
Case 3: my_output = "Thirty "
Case 4: my_output = "Forty "
Case 5: my_output = "Fifty "
Case 6: my_output = "Sixty "
Case 7: my_output = "Seventy "
Case 8: my_output = "Eighty "
Case 9: my_output = "Ninety "
Case Else
End Select
my_output = my_output & get_digit(Right(pTens, 1))
End If
get_ten = my_output
End Function
Function get_digit(pDigit)
Select Case Val(pDigit)
Case 1: get_digit = "One"
Case 2: get_digit = "Two"
Case 3: get_digit = "Three"
Case 4: get_digit = "Four"
Case 5: get_digit = "Five"
Case 6: get_digit = "Six"
Case 7: get_digit = "Seven"
Case 8: get_digit = "Eight"
Case 9: get_digit = "Nine"
Case Else: get_digit = ""
End Select
End Function
```

As a result, you can use your **defined **function named **Convert_Number_into_word_with_currency**. For this, you should follow the given steps.

**Steps:**

- Now, you have to select a cell, where you want to keep the result. We have selected the
**C5**cell. - Then, you need to use the corresponding formula in the
**C5**cell.

`=Convert_Number_into_word_with_currency(B5)`

- Subsequently, press
**ENTER**.

- Finally, use the Excel
**AutoFill Feature**for the rest of cells**C6:C9**.

Lastly, you will get all the converted amount.

**Read More:** **How to Convert Number to Text and Keep Trailing Zeros in Excel (4 Ways)**

## How to Convert Number to Text Format in Excel

So far, we’ve talked about **how to convert numbers to words **in Excel. This section of the article explains how to **change numbers to text format** in Excel. It is the simplest and fastest method to convert numbers into text.

Here, follow these steps to apply this method:

- Firstly, select the cell or cells with numeric values that you want to convert into text (in our case, cell
**C5:C9**) - Secondly, go to the
**Home**tab and select the**Text**option from the cell category drop-down menu under the**Number**section.

As a result, it will convert your selected cells’ numeric value into text. You can understand it by observing the alignments. By default, texts are left-aligned and numbers are right-aligned in Excel.

Or you can press **CTRL+1** to open the window named **Format Cells** and select the **Number** option and then select the **Text** category from there.

**Read More:** **Excel VBA to Convert Number to Text (4 Examples)**

## Practice Section

For doing practice, we have added a Practice portion on each sheet on the right portion.

## Conclusion

Here, we have tried to make this article an ultimate guide about how to convert number to appropriate words or text in **MS Excel**. Moreover, we have narrowed down **seven** different techniques in this article so that you can choose the ideal option that is best suited for your specific situation. So, we hope you find the solution you were looking for. Please leave a comment if you have any suggestions or questions. Thank you.

x_array_1 = Array(“Ten “, “Eleven “, “Twelve “, “Thirteen “, “Fourteen “, “Fifteen “, “Sixteen “, “Seventeen “, “Eighteen “, “Nineteen “)

Hi!!

I have entered the whole code but when I try to apply i got an error message in the above line. It highlight the “, ” between “Thirteen “, “Fourteen “,

Please kindly assist

Hello VULSTA KUZENA,

Thanks for your comment. In my case, the code runs just perfect. I have not got any error message. There might have some extra characters in that place. You can try it or send me the file to [email protected] to let me have a try.