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»

    1. Buenas tardes. como podría cambiar la palabra pesos por bolívares? He intentado alguna de las recomendaciones que dan en las respuestas a preguntas, pero no me ha funcionado ninguna. Gracias

      Responder
    2. BUENAS TARDES QUISIERA VER SI ME PODRIAN AYUDAR A PONERLE LO DE MONEDA NACIONAL A MI FORMULA (M.N.) =”(” & NUMEROALETRA(A1) & ”)” QU ESTE EN MAYUSCULAS, CON LO DE M.N. Y ENCERRADO ENTRE PARENTISIS LA CANTIDAD ON LETRA,GRACIAS

      Responder
      • Hola Alete, puedes remover los centavos debes crear una fórmula como la siguiente 👉=IZQUIERDA(NUMEROALETRA(A1),LARGO(NUMEROALETRA(A1) – 8)), esta fórmula debería quitar los últimos 8 caractéres del resultado. 😎

        Responder
      • Que tal Joel, hasta acá recibimos tu felicitación 😀, con este complemento hay que hacer una doble tarea con los plurales, particularmente con tu moneda tendrías que hacer algo como 👉 =SUSTITUIR(SUSTITUIR(NUMEROALETRA(A1),»Pesos»,»Soles»),»Peso»,»Sol») ✅ Inténtalo y nos comentas que tal te fue

        Responder
      • Que tal Rubén, pero valor mayores a los 2 mil millones, es necesario usar el complemento NUMEROALETRAX, que es la función PREMIUM para evitar usar funciones adicionales y además admite convertir hasta 10 mil millones. 😀

        Responder
    3. HOLA! hay alguna fórmula o de forma puedo cambiar un número por una letra, ejemplo: quiero que al presionar 1 se cambie a la letra A, que cuando presione el número 2 se cambie a la letra L. Que yo pueda elegir que letra cambiar por qué número.

      Espero puedan ayudarme
      Muchísimos más gracias

      Responder
      • Que tal Cristina 👋, la manera más sencilla, sería hacerlo con una fórmula en Excel, y será tan extensa como lo necesites por ejemplo: 👉=SI.CONJUNTO(A1=1,»A»,A1=2,»B»,A1=3,»C»,A1=4,»D»…) y así sucesivamente, depende especialmente como lo necesitas. Otra alternativa es desarrollar una macro que cumpla con lo que necesitas. Si requieres mayor apoyo, estaremos al pendiente 😀

        Responder
    4. mi pregunta es, por que no se mantiene el complemento, por que hay que redirigirlo cada vez que abres un archivo de Excel, es decir, cada que abres un archivo y le das nuevamente, convertir num. a letras, hay que activar otra vez la descarga, acaso no puede mantenerse fijo en el programa, una vez descargado, ya que abro un archivo y pido convertir num. a letras y hay que volver a cargar el complemento desde el sitio de descargas, es decir, del archivo Excel, ir a opciones, cargar complemento, ubicarlo o examinar la ruta, activarlo y ya puedes volver a convertir tus num. a letra.
      un verdadero fastidio. si pueden arreglar eso, seria formidable, pero si no pueden, pues igual se agradece la ayuda, y continuaremos descargando por cada archivo de Excel que se genere. gracias. por el apoyo.

      Responder
      • Que tal Arm 👋, si es un problema común el que comentas, sin embargo no tiene que ver ni con la plantilla ni con Excel 😅, si no con los permisos del archivo en tu PC, debes ir a la ruta dónde se ubica el archivo, hacer clic derecho y desmarcar la opción de solo lectura (en algunos casos hay que cambiar permisos de lectura/escritura cuando no se es administrador) después de ello, reiniciar el equipo y volver a instalar el complemento en Excel, esto debería solucionar el problema 😉. Inténtalo nos comentas el resultado 👍

        Responder
      • Que tal Fabricio, para lograr traducir los centavos, tendrás que hacer algo como lo siguiente: =NUMEROALETRA(A1,1), con lo que obtendrás Veinte Pesos Con Cincuenta Centavos 😉

        Responder
      • Ah muy bien 😉, en ese caso debes aplicar la función para cambio de moneda, solo que en lugar de colocar otro tipo de moneda, deberás colocar «». Si necesitas más asistencia estamos a la orden 👍

        Responder
    5. hola que tal. La herramienta es muy buena pero tengo un pequeño problema quiero convertirlo a forma de promedio es decir que aparezca 9.0
      = nueve punto cero

      Responder
      • Que tal Ángel 😉, para lograr lo que requieres, realizar el redondeo antes de aplicar la función. Por otra parte, no es posible colocar el «punto cero». Si requieres asistencia, déjanos tu comentario 👍

        Responder
      • Que tal José 👋, así son los archivos tipo complemento 😉, te recomiendo consultar el vídeo tutorial para conocer como instalarlo y las reglas de funcionamiento 👍

        Responder
    6. que tal buena tarde, pregunta solicite LA DESCARGA DE FUNCIÓN NUMERO A LETRA, pero no se a donde se descargo el archivo… me podrías apoyar

      Gracias…

      Responder
      • Que tal Miguel 👍, una vez hecha la solicitud te debe llegar un correo con el enlace de descarga, también te recomiendo buscar en la carpeta de No Deseados, a veces se va ahí por error 😉

        Responder
      • Buen día Alex, la versión gratuita está limitada al tamaño de conversiones, si necesitas ayuda para la versión de pago, házmelo saber 😉

        Responder

    Deja un comentario

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