8-Ways to Convert Numbers into Words in Excel | Convert Amount to Words in Excel

Converting Amounts in Words in Excel is not an easy task, Excel does not have the inbuilt function to convert any number into words, that is why we have to add external VBA codes to our file to convert any number into words.

In this article, i have given 8 Methods to convert your values into words easily.

Each Function has a download section you can download the code file at the end of each method. 

You can jump directly to any method as the Table of contents is given below, click any method & it will jump you to that point.


1 Convert Amount to Text in Excel

In this method, we are using a .xlam file, which we have to upload in our Excel, and after that, we will use =SpellNumber formula to convert any amount to Words.

Once we upload this file in our Excel, then the formula will work in the whole Excel, you don’t need to upload it again and again.

This code is specially made for Indian Rupees, so if you are from India then this code will be very helpful for you.

Steps to  Upload .xlam file into your Excel-

Step 1-  Go to File Menu then open Excel Options Menu

Step 2- Now Click on Add-Ins then Click on GO button

Excel Options Menu

Step 3- Click on the Browse button then Select the file which you have downloaded here then click on OK button

excel addins option

Step 4-  Now your Excel is ready to convert the amount into words. use the below formula to convert values to words.

=SpellNumber(A14)

Final Output

how to convert number to text in excel 2007 formula , how to convert number to text in excel 2016 , how to convert number to text in excel 2010 , excel formula to convert number to words in rupees , excel convert formula to text , spell number

Tutorial Video

Download

Download Sample File


2 Convert Number Amount to Word Text in Excel

Convert Number or Amount to English Words Formula to be useed “=NumberToText(A1)

Output-Screenshot

Number to English Text in Excel

Tutorial Video

Download Excel Module Add-ins File Below

Download

Note: The add-ins upload process is given in Method No.1 above


3 Convert Amount in Words in Indian Rupees in Excel with VBA Code

Formula to be used: “=RupeeFormat(A1)”

Output-Screenshot

Convert Amount in Words in Indian Rupees in Excel

VBA CODE:

Public Function RupeeFormat(SNum As String)
'Updateby TechGuruPlus
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paise As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(Str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paise = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paise = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = "Rupees " & xRStr
    End If
    If xRStr_Paise <> "" Then
       xRStr_Paise = " and " & xRStr_Paise & " Paise"
    End If
    RupeeFormat = xRStr & xRStr_Paise & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function

 


4 Convert Amount to Hindi Words in Excel

Formula to be used: “=NumberToHindi(A1)”

Output-Screenshot

Number to Hindi in Excel

Tutorial Video

Download Excel Module Add-ins File Below

Download


5 Convert Number to Word with Online Tool

Number to Word Converter

Check Online Tool:

Convert Number to Hindi & English Online


6 Convert Number to Words in Dollar or Any Other Currency in Excel

This is the same method as Method No. 1 given above, follow the step there & upload the .xlam file, and use the same formula to convert the amount in to dollar text.

Formula to be used:  “=SpellNumber(A14)”

Final Output

amount in dollar in excel

Tutorial Video

Download


7 Convert Number to Words in Dollars in Excel

This format will show the amount in words but the result will be shown in Million, Billions. To convert amount in words with dollar and cents you have to copy the below VBA code and paste into your Module section as the steps are given below-

Formula to be used:  “=AmountToWord(A14)”

Use VBA Code

Option Explicit
  'Main Function
  Function AmountToWord(ByVal MyNumber)
      Dim Dollars, Cents, Temp
      Dim DecimalPlace, Count
      ReDim Place(9) As String
      Place(2) = " Thousand "
      Place(3) = " Million "
      Place(4) = " Billion "
      Place(5) = " Trillion "

      MyNumber = Trim(Str(MyNumber))
      DecimalPlace = InStr(MyNumber, ".")
      If DecimalPlace > 0 Then
          Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
                    "00", 2))
          MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
      End If
      Count = 1
      Do While MyNumber <> ""
          Temp = GetHundreds(Right(MyNumber, 3))
          If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
          If Len(MyNumber) > 3 Then
              MyNumber = Left(MyNumber, Len(MyNumber) - 3)
          Else
              MyNumber = ""
          End If
          Count = Count + 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
      AmountToWord = Dollars & Cents
  End Function

  Function GetHundreds(ByVal MyNumber)
      Dim Result As String
      If Val(MyNumber) = 0 Then Exit Function
      MyNumber = Right("000" & MyNumber, 3)
      ' Convert the hundreds place.
      If Mid(MyNumber, 1, 1) <> "0" Then
          Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
      End If
      ' Convert the tens and ones place.
      If Mid(MyNumber, 2, 1) <> "0" Then
          Result = Result & GetTens(Mid(MyNumber, 2))
      Else
          Result = Result & GetDigit(Mid(MyNumber, 3))
      End If
      GetHundreds = Result
  End Function

  Function GetTens(TensText)
      Dim Result As String
      Result = "" ' Null out the temporary function value.
      If Val(Left(TensText, 1)) = 1 Then   ' If value between 10-19…
          Select Case Val(TensText)
              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 ' If value between 20-99…
          Select Case Val(Left(TensText, 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(TensText, 1))  ' Retrieve ones place.
      End If
      GetTens = Result
  End Function

  Function GetDigit(Digit)
      Select Case Val(Digit)
          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

Steps to Enter the VBA code in your file-

Step 1-  Press Alt+F11 to open the Visual Basic editor window.

Step 2-  Now go to Insert Menu, then Go to Module Option.

insert module in VBA editor

Step 3-  Copy the code in the frame above and paste it to this window.

paste vba code in module

Step 4-  Now go to the Excel sheet and use this formula to convert values

=AmountToWord(A8)

Final Output

Convert Amount into Words in Excel    

Download Excel Module Add-ins File Below

Download

Note: The add-ins upload process is given in Method No.1 above


8 Convert Date To English Words in Excel

If you are searching for VBA code to convert Date to English Words in Excel? then you can download the VBA coding from below download button and install this Add-ins in your excel as explained in below given video.

Formula to be used “=DateToText(A1)

Output-Screenshot

Date to Text in Excel

Tutorial Video

Download Excel Module Add-ins File Below

Download


 

Join Our Telegram Group techguruplus telegram group Join Our WhatsApp Group techguruplus whatsapp group
Nazim Khan - Author Image

Nazim Khan (Author) 📞 +91 9536250020
[MBA in Finance]

Nazim Khan is an expert in Microsoft Excel. He teaches people how to use it better. He has been doing this for more than ten years. He is running this website (TechGuruPlus.com) and a YouTube channel called "Business Excel" since 2016. He shares useful tips from his own experiences to help others improve their Excel skills and careers.

7 thoughts on “8-Ways to Convert Numbers into Words in Excel | Convert Amount to Words in Excel”

  1. Your attached file for number to text can’t download.please tell me the way download your file for edit spellnumber.

    Reply
  2. Osm sir
    Sir aap me number to text file Jo h usme apne apne Kya type Kiya h Jo ki ham file ko download karke Excel m addin krte h or fr apne aap number word m change ho jata h

    Sir plzzz give reply bcoz wo file open nhi ho rahi h

    Reply
  3. If we convert any amount having point like 123.47 it will shows “Rupees One Hundred TwentyThree Paise FourtySeven Only” but it have to show like “Rupees One Hundred Twenty Three and Fourty Seven Paise Only”. Just think about it as not everyone having a bill containing round figure only.

    Reply
  4. I saw your lecture convert number into text format but I am unable to find file which I need to copy in excel

    Reply

Leave a Comment