Conversión de Convertir a palabras en Rupia india y otras divisas en Excel (2025 Edición)
A continuación te explicamos cómo convertir números en palabras en rupias indias —o en cualquier otra moneda— directamente en Excel.
Al trabajar con documentos financieros como facturas, presupuestos, formularios fiscales, cheques o vales de pago, suele ser necesario expresar los importes monetarios tanto en formato numérico como en palabras. Este doble formato aporta un toque de profesionalismo y ayuda a prevenir fraudes o malinterpretaciones.
Ejemplo
Aunque Microsoft Excel no incluye una función integrada para convertir números en palabras, existen varias formas eficaces de lograrlo: mediante VBA, funciones LAMBDA o el complemento todo en uno Kutools para Excel.
Convertir Convertir a palabras en Rupia india con VBA (todas las versiones de Microsoft)
- Convertir Convertir a palabras en otras divisas (USD, EUR, etc.)
- Guarde su libro de trabajo como archivo habilitado para macros
Guarde su libro de trabajo como archivo habilitado para macros
Convertir números a USD, EUR y 30+ otras divisas (todas las versiones de Microsoft)
Convertir Convertir a palabras en Rupia india con VBA (todas las versiones de Microsoft)
Para usuarios de cualquier versión de Excel, VBA (Visual Basic para Aplicaciones) ofrece un método personalizable que convierte cantidades numéricas en palabras según el sistema numérico indio (por ejemplo, miles, lakhs y crores).
Paso 1. Pulse Alt+F11 para abrir el editor de VBA (ventana de Microsoft Visual Basic para Aplicaciones).

Paso 2. Vaya a Insertar > Módulo.

Paso 3. Pegue el código VBA en el módulo.
Convertir números en palabras en Rupia india
Function ConvertToRupees(ByVal MyNumber)
'UpdatebyExtendoffice
Dim Units As String, SubUnits As String, TempStr As String
Dim DecimalPlace As Integer, Count As Integer
Dim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Lakh "
Place(4) = " Crore "
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
If DecimalPlace > 0 Then
SubUnits = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
TempStr = GetHundreds(Right(MyNumber, 3))
If TempStr <> "" Then Units = TempStr & Place(Count) & Units
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
ConvertToRupees = "Rupees " & Application.WorksheetFunction.Trim(Units)
If SubUnits <> "" Then
ConvertToRupees = ConvertToRupees & " and " & SubUnits & " Paise"
End If
ConvertToRupees = ConvertToRupees & " Only"
End Function
Private Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
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
Private Function GetTens(TensText)
Dim Result As String
If Val(Left(TensText, 1)) = 1 Then
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"
End Select
Else
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 "
End Select
Result = Result & GetDigit(Right(TensText, 1))
End If
GetTens = Result
End Function
Private 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

Paso 4. Guarde y vuelva a Excel.
Paso 5. Seleccione una celda y aplique la fórmula de la siguiente manera:
Pulsa la tecla Intro.

💡Consejo: Este método admite decimales (paise) y funciona sin conexión.
Limitaciones del uso de VBA
- Debe guardar el libro de trabajo como un archivo habilitado para macros (.xlsm).
- Las macros pueden estar bloqueadas por la configuración de seguridad en ciertos entornos.
Convertir Convertir a palabras en otras divisas (USD, EUR, etc.)
Para personalizar la salida en otras divisas, como «dólares» o «euros», basta con ajustar los valores de cadena en la función VBA. A continuación, te presentamos una versión más sencilla y flexible de la función.
Plantilla de código VBA flexible (divisa personalizada)
'UpdatebyExtendoffice
Public Function NumberToWordsCustom(ByVal num As Double, Optional ByVal currency2 As String, Optional ByVal subCurrency As String) As String
Dim result As String
Dim dollars As Long
Dim cents As Long
dollars = Int(num)
cents = Round((num - dollars) * 100)
If Len(currency2) = 0 Then currency2 = "Dollars"
If Len(subCurrency) = 0 Then subCurrency = "Cents"
result = currency2 & " " & SpellNumber_English(dollars)
If cents > 0 Then
result = result & " and " & SpellNumber_English(cents) & " " & subCurrency
End If
NumberToWordsCustom = result & " Only"
End Function
Private Function SpellNumber_English(ByVal MyNumber As Long) As String
Dim Units As Variant, Tens As Variant, Teens As Variant
Dim Place() As String
Dim TempStr As String
Dim Count As Integer
Dim t As String
Dim StrNumber As String
Dim n As Integer
Place = Split(" Thousand Million Billion", " ")
Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
StrNumber = Trim(Str(MyNumber))
Count = 0
Do While StrNumber <> ""
n = Val(Right(StrNumber, 3))
If n <> 0 Then
t = ConvertHundreds(n, Units, Tens, Teens)
If Count > 0 Then t = t & " " & Place(Count - 1)
TempStr = t & " " & TempStr
End If
If Len(StrNumber) > 3 Then
StrNumber = Left(StrNumber, Len(StrNumber) - 3)
Else
StrNumber = ""
End If
Count = Count + 1
Loop
SpellNumber_English = Trim(TempStr)
End Function
Private Function ConvertHundreds(ByVal n As Integer, Units As Variant, Tens As Variant, Teens As Variant) As String
Dim result As String
If n >= 100 Then
result = Units(Int(n / 100)) & " Hundred "
n = n Mod 100
End If
If n >= 20 Then
result = result & Tens(Int(n / 10)) & " "
n = n Mod 10
ElseIf n >= 10 Then
result = result & Teens(n - 10) & " "
n = 0
End If
If n > 0 Then
result = result & Units(n)
End If
ConvertHundreds = Trim(result)
End Function
Ejemplo de fórmula VBA:

Ejemplo de fórmula VBA para otra divisa:
=NumberToWordsCustom(A2, «Euros», «Cents»)
=NumberToWordsCustom(A2, «Pounds», «Pence»)
El código es flexible: basta con indicar la divisa y la subunidad que desees.
Guarde su libro de trabajo como archivo habilitado para macros
Si utiliza VBA, es fundamental guardar su libro de trabajo con macros habilitadas; de lo contrario, el código se perderá al cerrar el archivo.
Paso 1. Vaya a Archivo > Guardar como

Paso 2. Seleccione una ubicación y elija Tipo de archivo: Libro de Excel habilitado para macros (*.xlsm).

Paso 3. Haga clic en Guardar.
✅ Sus funciones personalizadas, como =ConvertToRupees(A2), ahora se conservan y pueden reutilizarse en cualquier momento.
Convertir Convertir a palabras en Rupia india con la función LAMBDA (solo Microsoft 365)
Los usuarios de Excel 365 pueden aprovechar LAMBDA, una innovadora función que les permite crear fórmulas personalizadas sin necesidad de recurrir a VBA.
🪄 ¿Qué es LAMBDA?
LAMBDA es una función de Excel que le permite crear sus propias funciones personalizadas mediante fórmulas, al igual que las funciones integradas como SUMA o SI, pero sin necesidad de programar ni usar macros. Es ideal para simplificar lógicas repetitivas y conseguir hojas de cálculo más limpias y fáciles de mantener.
Paso 1: Vaya al Administrador de nombres haciendo clic en Fórmulas > Administrador de nombres.

Paso 3. Haga clic en Guardar .
Haga clic en el botón Nuevo.

Introduzca un Nombre.
Ejemplo: RupeeToWords

Paso 3: Pegue esta fórmula LAMBDA en el campo Hace referencia a:
=LAMBDA(n, LET( units, {«»,«One»,«Two»,«Three»,«Four»,«Five»,«Six»,«Seven»,«Eight»,«Nine»}, teens, {«Ten»,«Eleven»,«Twelve»,«Thirteen»,«Fourteen»,«Fifteen»,«Sixteen»,«Seventeen»,«Eighteen»,«Nineteen»}, tens, {«»,«»,«Twenty»,«Thirty»,«Forty»,«Fifty»,«Sixty»,«Seventy»,«Eighty»,«Ninety»}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA([[PH_1]], IF([[PH_1]]0, « » & INDEX(units, MOD([[PH_1]],10)+1), «») ) ) ), ConvertThree, LAMBDA(x, IF(x=0, «», IF([[PH_1]]0, « » & ConvertTwo(MOD([[PH_1]],100)), «») ) ) ), words, IF(num=0, «Zero», TEXTJOIN(« », TRUE, IF(INT(num/10000000)>0, ConvertTwo(INT(num/10000000)) & « Crore», «»), IF(MOD(INT(num/100000),100)>0, ConvertTwo(INT(MOD(num,10000000)/100000)) & « Lakh», «»), IF(MOD(INT(num/1000),100)>0, ConvertTwo(INT(MOD(num,100000)/1000)) & « Thousand», «»), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & « Hundred», «»), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), «») ) ), result, «Rupees » & words & IF(paise>0, « and » & ConvertTwo(paise) & « Paise», «») & « Only», result ))Haga clic en Aceptar para guardar el nuevo nombre.

Paso 3. Cierre el Administrador de nombres y regrese a Excel.
Paso 4. Utilice la fórmula en cualquier celda de la siguiente manera:
Pulse la tecla Intro.

👀 La función LAMBDA completa gestiona crores, lakhs, miles y decimales.
Convertir números a USD, EUR y 30+ otras divisas (todas las versiones de Microsoft)
Para obtener la solución más eficiente y profesional, utilice la herramienta Kutools para Excel's Convertir a palabras. Esta potente herramienta admite:
🌍 Más de 30 divisas, incluidas:
- Dólares estadounidenses (USD)
- Euros (EUR)
- Yuan chino (CNY)
- Libras esterlinas (GBP)
- etc.
Paso 1. Seleccione las celdas que desea convertir.

Paso 2. Vaya a Kutools > Contenido > Convertir a palabras

Paso 3. Elija la divisa de destino y haga clic en Aceptar.

Los números se convierten a la divisa especificada.

😁Consejo: Si desea convertir directamente Convertir a palabras, active la opción No convertir a moneda y el resultado se mostrará así:

Cuándo utilizar cada método
Utilice VBA si necesita una solución flexible y programable y ya está familiarizado con las macros.
- Utilice LAMBDA si trabaja con Excel 365 y solo necesita convertir valores de rupia india de forma ocasional. Es una solución ligera y fácil de compartir que no requiere macros ni herramientas externas, perfecta para tareas sencillas o personales.
- Utilice Kutools para Excel si busca la solución más fácil, rápida y versátil sin necesidad de programar. Kutools es especialmente útil cuando:
- Trabaja con múltiples divisas.
- Necesita convertir valores en lotes o en conjuntos de datos grandes.
- Quiere una herramienta profesional y sin macros con opciones de divisa 30+ y rendimiento potenciado por inteligencia artificial.
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos

