在 Excel 中处理数字时,为了满足正式文件要求或确保清晰度,有时你需要同时以数字和文字显示金额。但 Excel 并没有内置的方法来实现这一点,特别是对于印度卢比。因此,你可能不得不使用复杂的公式、外部工具,或进行手动转换。
在本指南中,我们将向你提供一份简单的分步教程,教你如何在 Excel 中将数字转换为印度卢比的文字形式。
在 Excel 中将数字转换为印度卢比文字的 2 种简单方法:
当然,最重要的是,你需要先正确下载 Microsoft Excel!
方法 1:使用 VBA 代码将数字转换为印度卢比文字
在使用 VBA 代码将数字转换为印度卢比文字之前,你可能需要在功能区中添加“开发工具”选项卡以开启 VBA 功能。
以下是在 Excel 中启用“开发工具”选项卡的步骤:
步骤 1:打开包含要转换数字的 Excel 电子表格。

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

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

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

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

步骤 6:点击“确定”。

现在,以下是使用 VBA 代码将数字转换为印度卢比文字的步骤:
步骤 1:打开包含要转换数字的 Excel 电子表格。

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

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

步骤 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 |
|---|

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

步骤 6:在要显示文字的单元格中输入公式 =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 |
|---|

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

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

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

所选范围内的数字将被转换为印度卢比的文字形式。
Microsoft Office 的最佳免费平替 - WPS Office
除了 Microsoft Office 之外,我还想为你推荐另一款应用——WPS Office。那么,WPS 究竟是什么?

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 的保存路径 -> 点击“保存”。

步骤 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 的免费平替),让精准、专业的文档排版变得轻而易举。





