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 numbers to text or words in Excel. In this guide, I have addressed this issue and provided six different methods to solve it, three for converting numbers into text formats and three for converting numbers into their respective word.

## Download the Workbook

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

## 3 Ways to Convert Numbers into Text in MS Excel

### 1. Using the TEXT function

The text function converts a number into a text in number format. Its syntax is as follows:

`=TEXT (value, format_text)`

**value** – The number to convert.

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

TEXT(123.12, **format_text**)

**format_text=”0″ = 123 **

**format_text=”0.0″ = 123.1**

**format_text=”0.00″ = 123.12**

You can learn about this function in detail by reading this documentation from Microsoft.

Follow these steps to apply this method:

- Select a cell to show the output to. (In my case,
**Cell C7**) - Enter the
**equal sign (=)**in the cell. It should enable you to type formulas. - Type in “TEXT” or select the
**TEXT**function from the drop-down menu. - Select the cell with the number value that you want to convert into text format. (In my case,
**Cell B7**) and add a**comma (,)**. - Enter the second argument based on your desired format (In my case,
**“0”**as I just want the decimal places) and hit the**Enter**button.

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. You can simply copy this formula to the rest of the cells as well. You can check out **this article** for copying formulas in excel.

### 2. Using the “Format Cell” option

It is the simplest and fastest method to convert numbers into texts.

Follow these steps to apply this method:

- Select the cell or cells with numeric values that you want to convert into text (in my case,
**Cell****B7:B11**). - Go to
**Home**and select the**Text**from the cell category deop-down menu under the**Number**section.

or,

You can right-click and select the **Format Cell** option and select the **Text **category form there.

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.

### 3. Using the Apostrophe (‘) method

This method is most useful when you are working with a small number of data and a limited number of cells need to be converted into text. If you have converted a large number of cells then you can check out the other methods.

Follow these steps for applying this method:

- Select the cell that you want to convert into text (In my case,
**Cell B7**). - Now, add an
**Apostrophe (,)**at the start of the cell and hit the**Enter**button.

It will convert all the values of cells into text. You can understand it by observing the alignments. By default, texts are left-aligned and numbers are right-aligned in Excel. The main drawback of this technique is that you have to follow these steps for each cell individually. That is why it is not suggested when you are working with more than 3-5 cells.

## 2 Ways to Convert Numbers into Words in MS Excel

So far, I’ve talked about how to convert numbers to text. This section of the article explains how to change digits to worded numbers and provides three techniques to perform the operation.

### 1. Using an Excel formula

The Excel formula that I used here relies on four functions. The LEFT, MID, TEXT, and the CHOOSE function.

Syntax of the **LEFT **function is as follows:

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**.

You can learn about this function in detail by reading this documentation from Microsoft.

Syntax of the **MID **function is as follows:

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.

You can learn about this function in detail by reading this documentation from Microsoft.

Syntax of the **TEXT **function is as follows:

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.

You can learn about this function in detail by reading this documentation from Microsoft.

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.

You can learn about this function in detail by reading this documentation from Microsoft.

Here, I have converted the number in the **Numbers** column into its corresponding words and showed it in the **Output** column.

The formula is as follows:

`=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 "))`

`&CHOOSE(MID(TEXT(B7,"000000000.00"),2,1)+1,,,"Twenty ","Thirty ","Forty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninety ")`

`&IF(--MID(TEXT(B7,"000000000.00"),2,1)<>1,CHOOSE(MID(TEXT(B7,"000000000.00"),3,1)+1,,"One","Two","Three","Four","Five","Six","Seven","Eight","Nine"),`

`CHOOSE(MID(TEXT(B7,"000000000.00"),3,1)+1,"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"))`

`&IF((--LEFT(TEXT(B7,"000000000.00"))+MID(TEXT(B7,"000000000.00"),2,1)+MID(TEXT(B7,"000000000.00"),3,1))=0,,IF(AND((--MID(TEXT(B7,"000000000.00"),4,1)+MID(TEXT(B7,"000000000.00"),5,1)+MID(TEXT(B7,"000000000.00"),6,1)+MID(TEXT(B7,"000000000.00"),7,1))=0,(--MID(TEXT(B7,"000000000.00"),8,1)+RIGHT(TEXT(B7,"000000000.00")))>0)," Million and "," Million "))`

`&CHOOSE(MID(TEXT(B7,"000000000.00"),4,1)+1,,"One","Two","Three","Four","Five","Six","Seven","Eight","Nine")`

`&IF(--MID(TEXT(B7,"000000000.00"),4,1)=0,,IF(AND(--MID(TEXT(B7,"000000000.00"),5,1)=0,--MID(TEXT(B7,"000000000.00"),6,1)=0)," Hundred"," Hundred and"))`

`&CHOOSE(MID(TEXT(B7,"000000000.00"),5,1)+1,,," Twenty"," Thirty"," Forty"," Fifty"," Sixty"," Seventy"," Eighty"," Ninety")`

`&IF(--MID(TEXT(B7,"000000000.00"),5,1)<>1,CHOOSE(MID(TEXT(B7,"000000000.00"),6,1)+1,," One"," Two"," Three"," Four"," Five"," Six"," Seven"," Eight"," Nine"),CHOOSE(MID(TEXT(B7,"000000000.00"),6,1)+1," Ten"," Eleven"," Twelve"," Thirteen"," Fourteen"," Fifteen"," Sixteen"," Seventeen"," Eighteen"," Nineteen"))`

`&IF((--MID(TEXT(B7,"000000000.00"),4,1)+MID(TEXT(B7,"000000000.00"),5,1)+MID(TEXT(B7,"000000000.00"),6,1))=0,,IF(OR((--MID(TEXT(B7,"000000000.00"),7,1)+MID(TEXT(B7,"000000000.00"),8,1)+MID(TEXT(B7,"000000000.00"),9,1))=0,--MID(TEXT(B7,"000000000.00"),7,1)<>0)," Thousand "," Thousand and "))`

`&CHOOSE(MID(TEXT(B7,"000000000.00"),7,1)+1,,"One","Two","Three","Four","Five","Six","Seven","Eight","Nine")`

`&IF(--MID(TEXT(B7,"000000000.00"),7,1)=0,,IF(AND(--MID(TEXT(B7,"000000000.00"),8,1)=0,--MID(TEXT(B7,"000000000.00"),9,1)=0)," Hundred "," Hundred and "))&`

`CHOOSE(MID(TEXT(B7,"000000000.00"),8,1)+1,,,"Twenty ","Thirty ","Forty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninety ")`

`&IF(--MID(TEXT(B7,"000000000.00"),8,1)<>1,CHOOSE(MID(TEXT(B7,"000000000.00"),9,1)+1,,"One","Two","Three","Four","Five","Six","Seven","Eight","Nine"),CHOOSE(MID(TEXT(B7,"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.

`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 "))`

*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.

Mr. Pete M. came up with this formula. Check out **this article** to learn about this formula in detail.

### 2. Using a VBA macro

#### For Wording Numbers

In this method, you have to insert a module using VBA (Visual Basic for Application). After successfully inserting the module, you can simply use it as an Excel function and get your desired output.

Follow these steps to apply this method:

- Press the
**Alt+F11**key. It should a new window named**Microsoft Visual Basic for Application**. - Select
**Insert > Module**. It should create a new**Module**. - Copy the VBA code from below and paste it to the new
**Module**section and**Save**it.

Function NumberstoWords(ByVal MyNumber) 'Update by Extendoffice Dim xStr As String Dim xFNum As Integer Dim xStrPoint Dim xStrNumber Dim xPoint As String Dim xNumber As String Dim xP() As Variant Dim xDP Dim xCnt As Integer Dim xResult, xT As String Dim xLen As Integer On Error Resume Next xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ") xNumber = Trim(Str(MyNumber)) xDP = InStr(xNumber, ".") xPoint = "" xStrNumber = "" If xDP > 0 Then xPoint = " point " xStr = Mid(xNumber, xDP + 1) xStrPoint = Left(xStr, Len(xNumber) - xDP) For xFNum = 1 To Len(xStrPoint) xStr = Mid(xStrPoint, xFNum, 1) xPoint = xPoint & GetDigits(xStr) & " " Next xFNum xNumber = Trim(Left(xNumber, xDP - 1)) End If xCnt = 0 xResult = "" xT = "" xLen = 0 xLen = Int(Len(Str(xNumber)) / 3) If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1 Do While xNumber <> "" If xLen = xCnt Then xT = GetHundredsDigits(Right(xNumber, 3), False) Else If xCnt = 0 Then xT = GetHundredsDigits(Right(xNumber, 3), True) Else xT = GetHundredsDigits(Right(xNumber, 3), False) End If End If If xT <> "" Then xResult = xT & xP(xCnt) & xResult End If If Len(xNumber) > 3 Then xNumber = Left(xNumber, Len(xNumber) - 3) Else xNumber = "" End If xCnt = xCnt + 1 Loop xResult = xResult & xPoint NumberstoWords = xResult End Function Function GetHundredsDigits(xHDgt, xB As Boolean) Dim xRStr As String Dim xStrNum As String Dim xStr As String Dim xI As Integer Dim xBB As Boolean xStrNum = xHDgt xRStr = "" On Error Resume Next xBB = True If Val(xStrNum) = 0 Then Exit Function xStrNum = Right("000" & xStrNum, 3) xStr = Mid(xStrNum, 1, 1) If xStr <> "0" Then xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred " Else If xB Then xRStr = "and " xBB = False Else xRStr = " " xBB = False End If End If If Mid(xStrNum, 2, 2) <> "00" Then xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB) End If GetHundredsDigits = xRStr End Function Function GetTenDigits(xTDgt, xB As Boolean) Dim xStr As String Dim xI As Integer Dim xArr_1() As Variant Dim xArr_2() As Variant Dim xT As Boolean xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ") xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ") xStr = "" xT = True On Error Resume Next If Val(Left(xTDgt, 1)) = 1 Then xI = Val(Right(xTDgt, 1)) If xB Then xStr = "and " xStr = xStr & xArr_1(xI) Else xI = Val(Left(xTDgt, 1)) If Val(Left(xTDgt, 1)) > 1 Then If xB Then xStr = "and " xStr = xStr & xArr_2(Val(Left(xTDgt, 1))) xT = False End If If xStr = "" Then If xB Then xStr = "and " End If End If If Right(xTDgt, 1) <> "0" Then xStr = xStr & GetDigits(Right(xTDgt, 1)) End If End If GetTenDigits = xStr End Function Function GetDigits(xDgt) Dim xStr As String Dim xArr_1() As Variant xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ") xStr = "" On Error Resume Next xStr = xArr_1(Val(xDgt)) GetDigits = xStr End Function

*Note: You can learn more about this code by checking out **this article**.*

- Now, select the cell you want to show the converted output. (In my case,
**Cell C7**). - Enter the
**equal sign (=)**in the cell. It should enable you to type formulas. - Type in “NumberstoWords” or select the
**NumberstoWords**function from the drop-down menu. - Select the cell with the number value that you want to convert into words (In my case,
**Cell B7**) and hit the**Enter**button.

It will convert your selected cells’ number into the corresponding words. You can simply copy this formula to the rest of the cells as well. You can check out **this article** for copying formulas in excel.

#### For Wording Currencies

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**.

375.65=Three Hundred Seventy Five Dollars and Sixty Five Cents

Follow these steps to apply this method:

- Press the
**Alt+F11**key. It should have a new window named**Microsoft Visual Basic for Application**. - Select
**Insert > Module**. It should create a new**Module**. - Copy the VBA code from below and paste it to the new
**Module**section and**Save**it.

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

*Note: You can learn more about this code by checking out **this article**.*

- Now, select the cell you want to show the converted output. (In my case,
**Cell C7**). - Enter the
**equal sign (=)**in the cell. It should enable you to type formulas. - Type in “SpellNumberToEnglish” or select the
**SpellNumberToEnglish**function from the drop-down menu. - Select the cell with the number value that you want to convert into words (In my case,
**Cell B7**) and hit the**Enter**button.

It will translate the number in your selected cells into the relevant currency words. You can simply copy this formula to the rest of the cells as well. You can check out **this article** for copying formulas in excel.

## Conclusion

I have tried to make this article an ultimate guide for converting numbers into text or appropriate words in MS Excel. I have narrowed down six different techniques in this article so that you can choose the ideal option that is best suited for your specific situation. I hope you find the solution you were looking for. Please leave a comment if you have any suggestions or questions. Thank you.