KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

Conversión de Convertir a palabras en Rupia india y otras divisas en Excel (2025 Edición)

AutorXiaoyang Fecha de modificació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

12,350,50 → Doce mil trescientas cincuenta rupias y cincuenta paise solamente

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)

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)

Cuándo utilizar cada método


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).

editor-de-vba

Paso 2. Vaya a Insertar > Módulo.

seleccionar-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
pegar-código

Paso 4. Guarde y vuelva a Excel.

Paso 5. Seleccione una celda y aplique la fórmula de la siguiente manera:

=ConvertToRupees(A2)

Pulsa la tecla Intro.

usar-fórmula

💡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:

=NumberToWordsCustom(A2, «Dollars», «Cents»)
fórmula-vba-a-otra-moneda

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

usar-guardar-como

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

usar-guardar-como-habilitado-para-macros

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.

seleccionar-administrador-de-nombres

Paso 3. Haga clic en Guardar .

  • Haga clic en el botón Nuevo.

    crear-nuevo-nombre
  • Introduzca un Nombre.

    Ejemplo: RupeeToWords

    crear-nombre
  • 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 ))
  • pegar-función-lambda
  • 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:

=RupeeToWords(A2)

Pulse la tecla Intro.

usar-fórmula-lambda

👀 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.
Descargar

Paso 1. Seleccione las celdas que desea convertir.

seleccionar-celdas

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

seleccionar-números-a-palabras

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

seleccionar-moneda-en-el-diálogo

Los números se convierten a la divisa especificada.

resultado-conversión-kutools

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

convertir-a-palabras

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

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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.

ExcelWordOutlookTabsPowerPoint
  • 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