Convertir número a letra en Excel (2025): mi forma rápida, sin errores y con moneda

Compatible con Excel 2016, 2019, 2021 y 365 · Incluye complemento nativo

GC
Gerardo Castro
Ing. Programador VBA y .NET · NEXEL
Actualizado 2025 ⭐ 4.9 / 5
★★★★★
+320 lectores usan el complemento NUMEROALETRAX en sus facturas
KP JR MB RA
Oferta activa — 50% OFF

Complemento NUMEROALETRAX

Para Excel 2016, 2019, 2021 y 365

$ 49 $99
MXN · IVA incluido
Ahorras $50 MXN hoy
  • Una fórmula, sin código VBA
  • MXN, USD, EUR y más monedas
  • Mayúsculas con parámetro
  • Centavos opcionales (0 ó 1)
  • Sin límite de monto
  • Soporte por email incluido
Comprar ahora — $49 MXN → Ver demo en video
🔒 Pago seguro 📥 Descarga inmediata ✉️ Soporte

Lo que dicen los usuarios
Karen P. ★★★★★
Asistente Administrativa
"Lo uso en mis facturas diarias. Ya no capturo los importes a mano."
Jesús R. ★★★★★
Contador Público
"Funciona perfecto en mi Excel 365. Instalación rápida y soporte muy atento."
Juan Pablo G. ★★★★☆
Coordinador de Nómina
"Muy útil para recibos de nómina. Antes tardaba 10 min, ahora es automático."

¿Vas con prisa y necesitas 1,234.56 como texto en segundos? Yo también estuve ahí. En este post te muestro las dos rutas que uso:

  • La gratuita (macro/fórmula personalizada).
  • Mi complemento NUMEROALETRAX,  instalo en 1 minuto, maneja moneda, mayúsculas y centavos sin fórmulas extra.

Convertidor Online de Número a Letra


Prueba aquí antes de instalar nada:

Historial de conversiones (sesión actual):

    ⚠️ Este convertidor funciona en el navegador, no dentro de Excel. Para usar esta función directamente en tus facturas, contratos o recibos con una sola fórmula nativa → ver NUMEROALETRAX

    Fórmula manual vs complemento NUMEROALETRAX

    ¿Quieres aprender a automatizar tareas con macros en Excel?

    Apúntate al curso en linea para convertirte en un crack de las automatizaciones con macros de Excel


    Antes de explicar cómo funciona cada método, aquí la comparativa directa para que decidas cuál te conviene:

    Características Fórmula manual (gratis) NUMEROALETRAX ($49 MXN)
    Funciona en Excel
    ✖️ Requiere código VBA
    ✅ Instalación en 1 min
    Manejo de moneda
    ✖️ Necesita función SUSTITUIR
    ✅ Parámetro MXN, USD
    Resultado en mayúsculas
    ✖️ Necesita anidar MAYUS()
    ✅ Parámetro incluido
    Quitar centavos
    ✖️ Fórmula IZQUIERDA + LARGO
    ✅ Parámetro 0 ó 1
    Compatible Excel 365
    ✖️ Puede bloquearse por seguridad
    ✅ Certificado 2016 – 365
    Soporte
    ✖️ Comunidad
    ✅ Email directo incluído

    Mira cómo funciona NUMEROALETRAX en Excel real


    En menos de 90 segundos verás la instalación completa y la fórmula funcionando en una factura real.<
    Lo que verás en el video
    Instalación en 1 minuto
    Cambio de moneda
    Mayúsculas y centavos
    ¿Listo para instalarlo en tu Excel?
    $49 MXN · IVA incluido · Descarga inmediata
    Comprar ahora →
    Opción gratuita

    El código VBA básico — sin costo

    Si solo necesitas la conversión simple y los montos no superan $9,999,999, aquí está el código. Sin trucos, sin registro.

    Cómo instalarlo
    1. 1
      Abre Excel y presiona Alt + F11 para abrir el Editor VBA.
    2. 2
      Ve a Insertar → Módulo y abre un módulo en blanco.
    3. 3
      Pega el código de abajo en el módulo.
    4. 4
      Cierra el editor y guarda el archivo como .xlsm (libro con macros habilitadas).
    5. 5
      Usa =NUMEROALETRA(A1) en cualquier celda.

    ⚠️ Limitaciones de esta versión

    • Solo convierte hasta $9,999,999 — montos mayores devuelven error.

    • Sin parámetro de moneda — siempre dice «Pesos», necesitas anidar SUSTITUIR().

    • Sin mayúsculas — necesitas anidar MAYUS() por fuera.

    • Debes guardar como .xlsm cada vez — los archivos .xlsx pierden la macro.

    • Excel 365 puede bloquearlo por políticas de seguridad corporativas.
    ¿Necesitas montos mayores, moneda, mayúsculas o sin .xlsm?


    Ver NUMEROALETRAX — $49 MXN →

    ¿Quieres aprender Excel desde Cero?
    Inscríbete GRATIS y conviértete en un master en Excel

    NUMEROALETRA_basica.bas

    ' ╔══════════════════════════════════════════╗
    ' ║  NUMEROALETRA — Versión gratuita básica  ║
    ' ║  Límite: hasta $9,999,999                ║
    ' ║  Sin parámetros de moneda ni mayúsculas  ║
    ' ║  Versión completa: nexel.com.mx          ║
    ' ╚══════════════════════════════════════════╝
    
    Function NUMEROALETRA(numero As Double) As String
    
        ' Límite de la versión gratuita
        If numero >= 10000000 Then
            NUMEROALETRA = "#LÍMITE: para montos mayores usa NUMEROALETRAX"
            Exit Function
        End If
    
        Dim entero As Long
        Dim cents  As Integer
        entero = Int(numero)
        cents  = Round((numero - entero) * 100)
        NUMEROALETRA = NumALetra(entero) & " Pesos " & Format(cents, "00") & "/100"
    
    End Function
    
    Private Function NumALetra(n As Long) As String
        Dim u(19) As String
        Dim d(9)  As String
        Dim c(9)  As String
    
        u(1)="Uno":     u(2)="Dos":       u(3)="Tres"
        u(4)="Cuatro":  u(5)="Cinco":     u(6)="Seis"
        u(7)="Siete":   u(8)="Ocho":      u(9)="Nueve"
        u(10)="Diez":   u(11)="Once":     u(12)="Doce"
        u(13)="Trece":  u(14)="Catorce":  u(15)="Quince"
        u(16)="Dieciséis": u(17)="Diecisiete"
        u(18)="Dieciocho":  u(19)="Diecinueve"
    
        d(2)="Veinte":    d(3)="Treinta"
        d(4)="Cuarenta":  d(5)="Cincuenta"
        d(6)="Sesenta":   d(7)="Setenta"
        d(8)="Ochenta":   d(9)="Noventa"
    
        c(1)="Ciento":      c(2)="Doscientos"
        c(3)="Trescientos":  c(4)="Cuatrocientos"
        c(5)="Quinientos":   c(6)="Seiscientos"
        c(7)="Setecientos":  c(8)="Ochocientos"
        c(9)="Novecientos"
    
        If n = 0   Then: NumALetra = "Cero": Exit Function
        If n = 100 Then: NumALetra = "Cien":  Exit Function
    
        Dim r As String: r = ""
    
        If n >= 1000000 Then
            r = NumALetra(n \ 1000000) & " Millón"
            If n \ 1000000 > 1 Then r = r & "es"
            n = n Mod 1000000
            If n > 0 Then r = r & " "
        End If
    
        If n >= 1000 Then
            If n \ 1000 = 1 Then
                r = r & "Mil"
            Else
                r = r & NumALetra(n \ 1000) & " Mil"
            End If
            n = n Mod 1000
            If n > 0 Then r = r & " "
        End If
    
        If n >= 100 Then
            r = r & c(n \ 100)
            n = n Mod 100
            If n > 0 Then r = r & " "
        End If
    
        If n >= 20 Then
            r = r & d(n \ 10)
            If n Mod 10 > 0 Then
                r = r & " y " & u(n Mod 10)
            End If
        ElseIf n > 0 Then
            r = r & u(n)
        End If
    
        NumALetra = r
    End Function

    ¿Ya ves cuántas fórmulas extra necesitas?
    Con NUMEROALETRAX todo es un solo parámetro. Sin .xlsm, sin bloqueos, sin límite de monto.

    Probar NUMEROALETRAX — $49 →

    Guía express (respuesta corta para salir del paso)


    Si ya tienes el complemento instalado, el flujo completo es:

    1. Abre Excel y tu archivo.
    2. Escribe el número en una celda (ej.1234.56 en A2).
    3. En la celda destino, escribe la fórmula=NUMEROALETRAX(A2,»PESO»,1,1)
    4. El resultado:MIL DOSCIENTOS TREINTA Y CUATRO PESOS CON CINCUENTA Y SEIS CENTAVOS
    // Sintaxis completa
    =NUMEROALETRAX(A2, "PESO", 1, 1)
    // ↑ ↑ ↑ ↑
    // celda moneda MAYUS centavos

    Instalar el complemento de Excel


    Una vez realices la compra, recibirás un enlace de descarga. El proceso de instalación es el siguiente:

    1. Descarga el archivo y colócalo en el Escritorio.
    2. Copia el archivo Funcion Numero a Letra.xlam a:
      C:\Users\[NombreUsuario]\AppData\Roaming\Microsoft\Complementos
    3. Abre Excel → Archivo → Opciones → Complementos → IR…
    4. Activa el complementoFunción Numero a Letray haz clic en Aceptar.

    ¿Cómo cambiar el tipo de moneda?


    Con la versión básica necesitas anidar la función SUSTITUIR. Por ejemplo, para cambiar de Pesos a Soles:

    =SUSTITUIR(NUMEROALETRA(A1),"Pesos", "Soles")

    Con NUMEROALETRAX simplemente cambias el segundo parámetro:

    =NUMEROALETRAX(A1, "SOL", 1, 1)
    =NUMEROALETRAX(A1, "USD", 1, 1)
    =NUMEROALETRAX(A1, "EUR", 1, 1)

    ¿Cómo convertir el resultado en MAYÚSCULAS?


    Con la fórmula básica, anidas la función MAYUS():

    =MAYUS(NUMEROALETRA(A1))
    // Resultado: MIL DOSCIENTOS CUARENTA PESOS 78/100

    Con NUMEROALETRAX, el tercer parámetro controla las mayúsculas: 1 = mayúsculas, 0 = minúsculas.

    ¿Cómo quitar los centavos del resultado?


    Con la versión básica necesitas esta fórmula compuesta:

    =IZQUIERDA(NUMEROALETRA(A1),LARGO(NUMEROALETRA(A1))-8)

    Con NUMEROALETRAX, el cuarto parámetro en 0 elimina los centavos:

    Gerardo Castro

    Ing. Programador VBA y .NET
    Me encanta programar en Excel y buscar nuevas formas de hacer las tareas más rápido.
    =NUMEROALETRAX(A1, "PESO", 1, 0)
    // Resultado: MIL DOSCIENTOS CUARENTA PESOS

    320 comentarios en «Convertir número a letra en Excel (2025): mi forma rápida, sin errores y con moneda»

      • Hola Joaquín,
        Ese error indica que Excel no reconoce alguna fórmula, en este caso me da la impresión que el error proviene de NUMEROALETRA().
        ¿Haz instalado correctamente el complemento?

        Responder
    1. Hola muy buenas noches, e realizado la compra de este complemento, pero me dice que Microsoft bloqueo y no me arroja ningún resultado, solo muestra #¿NOMBRE?

      Responder
      • Buen día Juan Pablo,
        En ocasiones ocurre este error al trabajar bajo Windows 11, para corregirlo, debes ir al archivo que descargaste, hacer clic derecho / Propiedades, y al final de la ventana encontraras un opción que dice DESBLOQUEAR, la activas y hacer clic en Aceptar.

        Esto debe corregir el bloqueo de Microsoft.

        Si el problema persiste, favor de comunicarse al correo de soporte@nexel.com.mx

        Saludos!

        Responder

    Deja un comentario

    Artículo añadido al carrito.
    0 artículos - $0.00