Catalog

How to Convert Numbers to Words in Indian Rupees in Excel

January 15, 2024 16.0K views

When you're working with numbers in Excel, sometimes you need to show them in both numbers and words for official documents or clarity. But Excel doesn't have a built-in way to do this, especially for Indian Rupees. So, you might end up using complicated formulas, external tools, or doing it manually.

In this guide, we'll teach you a simple step-by-step method to convert numbers into words for Indian Rupees using Excel.

2 Easy Ways to Convert Numbers to Words in Indian Rupees in Excel:

Method 1: Convert numbers to words in Indian rupees with VBA code

Before converting numbers to words in Indian Rupees using VBA code, you may need to add on the developer tab in your ribbon to open the VBA function.

Here is the step to enable the developer tab in Excel:

Step 1: Open the Excel spreadsheet that contains the numbers you want to convert.

Step 2: Click on file and choose option in the list

Step 3: In the excel Option choose customize ribbon

Step 4: Choose all tab in the Choose command form option

Step 5: Find developer in the list and click add

Step 6: Click on Ok

Now here is the step to convert numbers to words in Indian Rupees using VBA code:

Step 1: Open the Excel spreadsheet that contains the numbers you want to convert.

Step 2: Click on the Developer tab. If you don't see this tab, follow the step above to enable it

Step 3: Click on Visual Basic or use the keyboard shortcut Alt + F11

Step 4: Click Insert and choose module.

Click Insert > Module option

Step 5: Paste the VBA code provided in the reference.

Public Function RupeeFormat(SNum As String)

'Updateby Extendoffice

Dim xDPInt As Integer

Dim xArrPlace As Variant

Dim xRStr_Paisas 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_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))

   ElseIf (Len(xNumStr) - xDPInt) > 1 Then

      xRStr_Paisas = 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=""> 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_Paisas <> "" Then

      xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"

   End If

   RupeeFormat = xRStr & xRStr_Paisas & " 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

Step 5: Save (Ctrl + S) and close the VBA editor. Choose Excel Macro-Enabled Workbook when saving

Step 6: Enter the formula =RupeeFormat(display cell) to the cell that you want to display the word and click enter

Step 7: The result will be displayed. Drag down to apply the formula to other cells

The numbers in the selected range will be converted to words in Indian rupees.

Method 2: Converting Numbers to Words in Indian Rupees in Excel (Common Method)

Learn the common method to convert numbers to words in Indian Rupees within Excel.

Step 1: Open the Excel spreadsheet that contains the numbers you want to convert.

Step 2: Right-click on the sheet name and select view code to open the VBA application

Step 3: Click Insert and choose module.

Click Insert > Module option

Step 4: Paste the VBA code provided in the reference.

Public Function RupeeFormat(SNum As String)

'Update By Nirmal

Dim xDPInt As Integer

Dim xArrPlace As Variant

Dim xRStr_Paisas 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_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))

   ElseIf (Len(xNumStr) - xDPInt) > 1 Then

      xRStr_Paisas = 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=""> 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_Paisas <> "" Then

      xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"

   End If

   RupeeFormat = xRStr & xRStr_Paisas & " 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

Step 5: Choose Excel Macro-Enabled Workbook in save as type. Close the VBA editor Windows

Step 6: insert the formula =RupeeFormat(display cell) to the selected cell to display the result.

Step 7: Drag down to apply the formula to other cells after the results appear in the selected cell

The numbers in the selected range will be converted to words in Indian rupees.

Trustpilot

stars

WPS Office- Free All-in-One Office Suite
  • Use Word, Excel, and PPT for FREE, No Ads.

  • Edit PDF files with the powerful PDF toolkit.

  • Microsoft-like interface. Easy to learn. 100% Compatibility.

  • Boost your productivity with WPS's abundant free Word, Excel, PPT, and CV templates.

5,820,008 User

avator

Algirdas Jasaitis
logo

Best Free Alternative to Microsoft Office - WPS Office

Beside Microsoft Office, I will offer you another app. This is the WPS Office. So, what is WPS?

WPS Office is a free and open-source office suite that is compatible with Microsoft Office. It includes a word processor, spreadsheet, presentation software, and a PDF reader, so you can easily open, edit, and save files. It is also easy to use, even for people with no prior experience with office suites.

Not only that, WPS Office is a powerful office suite that offers a wide range of features. It is a good alternative to NeoOffice, especially for students and businesses on a budget.

Take a quick look at some of the features of WPS:

●  Free to use Word, Excel, and PPT. Powerful PDF toolkit

●  Rich template store

●  Rich functions, there are resume assistants, smart forms, screen recording, file repair and other small tools integrated in the product

● The light weight of the product is only 200M, and it occupies a small amount of computer memory.

● The MAC version of WPS Office is very powerful. Microsoft office ignores the experience of mac users, which can be made up by wps office

● Support online documents(WPS AirPage), multi-person collaborative editing

● WPS office also supports Linux system, Android, and ios systems. To use WPS office products on different systems, you only need to log in to the same account, and all files can be synchronized

You feel WPS Office is the best choice for you and want to download? Please visit this official website: https://www.wps.com and download now.  

How to download WPS Office

Step 1: Visit the WPS Office website: wps.com.

Step 2: Click “ Free Download” button

Step 3: Select the place you want to save WPS Office -> Save

Step 4: Double click on the WPS Office file in your Download file, click “Run” and follow the on-screen instructions to install

Step 5: After complete, you can enjoy all the power of WPS Office

FAQs:

Q1: How do I convert currency to text in Excel VBA?

  • You can use VBA (Visual Basic for Applications) to convert currency to text in Excel. You'll need to write a custom VBA macro to perform this conversion. You can find examples and code snippets online or consult Excel VBA documentation for guidance.

Q2: How to convert currency to words text in Excel?

  • To convert currency into words in Excel, you typically use a combination of functions and custom formatting. You can find various tutorials and guides online that explain how to achieve this.

Q3: How do you format numbers in Excel for Indian rupees?

  • To format numbers in Excel for Indian Rupees, you can use the built-in currency formatting options. Select the cell or range you want to format, go to the "Number" tab in the Format Cells dialog box, and choose the "Currency" category. From there, you can select "₹ English (India)" as the currency symbol.

Q4: How do I convert numbers to text in Excel automatically?

  • There are several ways to convert numbers to text in Excel automatically. You can use Excel functions like TEXT, CONCATENATE, or custom formatting. You can also use VBA macros for more advanced automation.

Q5: How to convert US dollar to Indian rupees in Excel?

  • To convert US dollars to Indian Rupees in Excel, you can use a combination of Excel functions and web services or external data sources that provide currency exchange rates. Excel's "Currency" format can also be used for displaying amounts in Indian Rupees after obtaining exchange rates.

Summary:

Learn how to easily convert numerical amounts to words in Indian Rupees within Excel, using either VBA code or a common method. First, enable the Developer tab in Excel, add the provided VBA code, and use the =RupeeFormat(display cell) formula.

Alternatively, right-click the sheet name to access VBA, insert a module, paste the code, and employ the same formula. These user-friendly methods are also compatible with WPS Office, a free alternative to Microsoft Office, making precise and professional document formatting a breeze.

15 years of office industry experience, tech lover and copywriter. Follow me for product reviews, comparisons, and recommendations for new apps and software.