logo
search
list

目錄

在 Excel 中将数字转换为印度卢比大写的2种简单方法:
微软 Office 的最佳免费替代方案 - WPS Office
常见问题解答:
总结:

如何在 Excel 中将数字转换为印度卢比金额大写

發佈者 陳文豪

calendar

2026-09-24

views

868

likes

59

在 Excel 中处理数字时,为了满足正式文件要求或确保清晰度,有时你需要同时以数字和文字显示金额。但 Excel 并没有内置的方法来实现这一点,特别是对于印度卢比。因此,你可能不得不使用复杂的公式、外部工具,或进行手动转换。

在本指南中,我们将向你提供一份简单的分步教程,教你如何在 Excel 中将数字转换为印度卢比的文字形式。

在 Excel 中将数字转换为印度卢比文字的 2 种简单方法:

当然,最重要的是,你需要先正确下载 Microsoft Excel

方法 1:使用 VBA 代码将数字转换为印度卢比文字

在使用 VBA 代码将数字转换为印度卢比文字之前,你可能需要在功能区中添加“开发工具”选项卡以开启 VBA 功能。

以下是在 Excel 中启用“开发工具”选项卡的步骤:

步骤 1:打开包含要转换数字的 Excel 电子表格。


表格中需要转换的数字


步骤 2:点击“文件”,然后在列表中选择“选项”。


文件选项,Alt:选项按钮


步骤 3:在 Excel 选项中选择“自定义功能区”。


选项卡和自定义功能区按钮


步骤 4:在“从下列位置选择命令”选项中选择“所有选项卡”。


从下拉列表中选择命令并选中“所有选项卡”


步骤 5:在列表中找到“开发工具”,然后点击“添加”。


开发工具选项卡和添加按钮


步骤 6:点击“确定”。


正在添加开发工具选项卡及确定按钮


免费使用 Word、Excel 和 PPT

现在,以下是使用 VBA 代码将数字转换为印度卢比文字的步骤:

步骤 1:打开包含要转换数字的 Excel 电子表格。


表格中需要转换的数字


步骤 2:点击“开发工具”选项卡。如果你没有看到此选项卡,请按照上面的步骤启用它。


开发工具选项卡


步骤 3:点击“Visual Basic”或使用快捷键 Alt + F11。


Visual Basic 按钮


步骤 4:点击“插入”,然后选择“模块”。


点击插入 > 模块选项


步骤 5:粘贴参考文献中提供的 VBA 代码。

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


参考文献中插入的 VBA 代码


步骤 5:保存(Ctrl + S)并关闭 VBA 编辑器。保存时选择“Excel 启用宏的工作簿”。


保存类型


步骤 6:在要显示文字的单元格中输入公式 =RupeeFormat(display cell),然后按下回车键。


公式 =RupeeFormat(display cell)


步骤 7:结果将显示出来。向下拖动以将公式应用到其他单元格。


所有单元格结果均显示


所选范围内的数字将被转换为印度卢比的文字形式。

方法 2:在 Excel 中将数字转换为印度卢比文字(通用方法)

学习在 Excel 中将数字转换为印度卢比文字的通用方法,这是在准备发票以便记账时的便捷步骤。

步骤 1:打开包含要转换数字的 Excel 电子表格。


表格中需要转换的数字


步骤 2:右键点击工作表名称,选择“查看代码”以打开 VBA 应用程序。这对于在 Excel 中进行数据分析也非常有用。


工作表选项卡和查看代码按钮


步骤 3:点击“插入”,然后选择“模块”。


点击插入 > 模块选项


步骤 4:粘贴参考文献中提供的 VBA 代码。

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


参考文献中插入的 VBA 代码


步骤 5:在保存类型中选择“Excel 启用宏的工作簿”。关闭 VBA 编辑器窗口。


保存类型


步骤 6:在选定的单元格中输入公式 =RupeeFormat(display cell) 以显示结果。


公式 =RupeeFormat(display cell)


步骤 7:选定单元格中显示结果后,向下拖动以将公式应用到其他单元格。


所有单元格结果均显示


所选范围内的数字将被转换为印度卢比的文字形式。

免费办公套件下载
  • 免费使用 Word、Excel 和 PPT,无广告。

  • 使用强大的 PDF 工具包编辑 PDF 文件。

  • 类似 Microsoft 的界面。易于学习。100% 兼容。

  • 使用 WPS 丰富的免费 Word、Excel、PPT 和简历模板提升你的工作效率。

100% 安全
头像
Algirdas Jasaitis

Microsoft Office 的最佳免费平替 - WPS Office

除了 Microsoft Office 之外,我还想为你推荐另一款应用——WPS Office。那么,WPS 究竟是什么?


WPS Office


WPS Office 是一款与 Microsoft Office 兼容的免费办公套件。它包含文字处理程序、电子表格、演示软件和 PDF 阅读器,让你能够轻松打开、编辑和保存文件。它也非常易于上手,即便是没有办公套件使用经验的新手也能轻松搞定。

不仅如此,WPS Office 还是一款功能强大的办公套件,提供了丰富多样的功能。它是 NeoOffice 的绝佳替代品,特别适合预算有限的学生和企业使用。

快速了解一下 WPS 的部分功能亮点:

●  免费使用 Word、Excel 和 PPT。强大的 PDF 工具包

●  丰富的模板库

●  功能全面,产品内置简历助手、智能表单、屏幕录制、文件修复等实用小工具

● 安装包体积极小,仅约 200MB,且几乎不占用电脑内存。

● WPS Office 的 Mac 版本非常强大。Microsoft Office 忽视了 Mac 用户的体验,而 WPS Office 恰好弥补了这一短板。

● 支持 在线文档(WPS 智能文档),可实现多人协作编辑。

● WPS Office 还支持 Linux、Android 和 iOS 系统。要在不同系统上使用 WPS Office 产品,只需登录同一个账号,所有文件即可自动同步。


多平台免费下载


如果你觉得 WPS Office 是你的理想之选并想要立即下载,请访问官方网站:https://www.wps.com 即刻获取。

如何下载 WPS Office

步骤 1:访问 WPS Office 官网: wps.com

步骤 2:点击“免费下载”按钮。


选择


步骤 3:选择 WPS Office 的保存路径 -> 点击“保存”。


保存 WPS Office 文件


步骤 4:在下载文件夹中双击 WPS Office 文件,点击“运行”,然后按照屏幕上的提示完成安装。


运行软件


步骤 5:安装完成后,即可尽情体验 WPS Office 的强大功能。

常见问题解答:

Q1:如何在 Excel VBA 中将货币转换为文本?

  • 你可以使用 VBA(Visual Basic for Applications)在 Excel 中将货币转换为文本。你需要编写一个自定义的 VBA 宏来执行此转换。你可以在网上查找示例和代码片段,或者查阅 Excel VBA 文档以获取操作指导。

Q2:如何在 Excel 中将货币转换为文字文本?

  • 要在 Excel 中将货币转换为文字,你通常需要结合使用函数和自定义格式。你可以在网上找到众多讲解如何实现该功能的教程和指南。

Q3:如何在 Excel 中将数字格式化为印度卢比格式?

  • 要在 Excel 中将数字格式化为印度卢比格式,你可以使用内置的货币格式选项。选中你要格式化的单元格或范围,在“设置单元格格式”对话框中转到“数字”选项卡,然后选择“货币”类别。在那里,你可以选择“₹ English (India)”作为货币符号。

Q4:如何在 Excel 中自动将数字转换为文本?

  • 在 Excel 中有几种自动将数字转换为文本的方法。你可以使用 TEXT、CONCATENATE 等 Excel 函数或自定义格式。你还可以使用 VBA 宏来实现更高级的自动化处理。

Q5:如何在 Excel 中将美元转换为印度卢比?

要在 Excel 中将美元转换为印度卢比,你可以结合使用 Excel 函数以及提供货币汇率的 Web 服务或外部数据源。在获取到汇率后,也可以使用 Excel 的“货币”格式以印度卢比显示金额。

Q6. 想要使用 Excel Online 轻松办公?

  • 如果你更倾向于在云端办公,Excel Online 同样提供了强大的功能,帮助你随时随地管理和清理数据。通过 Excel Online,你可以使用相同的功能从数据的左侧或右侧删除字符,这对于需要灵活办公或无法访问桌面版 Excel 的用户而言是个绝佳选择。

总结:

通过本文,你了解了如何使用 VBA 代码或通用方法在 Excel 中轻松将数字金额转换为印度卢比文字。首先,在 Excel 中启用“开发工具”选项卡,添加提供的 VBA 代码,然后使用 =RupeeFormat(display cell) 公式即可实现转换。

此外,你也可以右键点击工作表名称进入 VBA,插入模块,粘贴代码,并使用相同的公式。这些简单易用的方法同样兼容 WPS Office(Microsoft Office 的免费平替),让精准、专业的文档排版变得轻而易举。

100% 安全


陳文豪

10年辦公軟件產業經驗,專注於跨平台文件兼容性分析及生產力工具評測。追蹤我的專欄獲取最新WPS功能解析、企業數位轉型案例分享及AI辦公應用實測報告。