Ajustar texto

Convertir números a letras en Excel: complemento y fórmulas

noviembre 3, 2026 Tuto Excel 13 min read
Convertir números a letras en Excel: complemento y fórmulas

Quien busca «complemento números a letras Excel» quiere una utilidad que transforme importes en palabras para recibos, facturas o cheques. Vamos a verlo con tres caminos reales: un complemento ya hecho (.xlam), una plantilla sin macros (.xlsx) y una macro VBA propia. Elige el que mejor encaje con tu versión de Excel y con el nivel de personalización que necesitas.

Por qué Excel no trae «números a letras» de fábrica

Excel trae funciones para contar, buscar, sumar y cruzar datos. Ninguna convierte un importe en palabras. La razón es práctica: el texto de cada número depende del idioma («mil» o «mil», con o sin «y», con o sin «con» delante) y, sobre todo, de la moneda. Por eso esa conversión vive fuera del programa: en complementos, plantillas o macros que cada uno adapta.

Lo usarás cada vez que copies un importe a un recibo, una factura, un cheque o un contrato. La idea es la misma en todos los casos: escribes el número en una celda y en otra ves el mismo importe escrito en letras, listo para imprimir o para concatenar con el resto del documento.

Nota: en toda la guía usamos el separador de argumentos con punto y coma: =SI(A2>10;"Alto";"Bajo"). Si tu Excel está configurado con punto decimal (México, Estados Unidos), el separador será la coma.

Tres caminos para conseguirlo según tu nivel

  • Complemento .xlam con la función ya hecha. Es la vía más rápida: descargas un archivo, lo instalas una vez y te aparece una función nueva (NumLetras, NumeroALetras o similar) disponible en cualquier libro. Admite moneda local: soles, pesos, euros, guaraníes, pesos chilenos, pesos argentinos, pesos mexicanos, según cómo venga configurado.
  • Plantilla .xlsx con fórmulas. Archivo sin macros que convierte importes de hasta 12 dígitos con 2 decimales usando fórmulas en una hoja auxiliar. Funciona donde las macros están deshabilitadas y abre en cualquier versión de Excel desde 2007.
  • Macro VBA hecha a tu medida. Tercera vía cuando lo que hay en la red no encaja con tu moneda o tu máximo de cifras. Escribes la función una vez, la guardas en un libro .xlsm y la usas como cualquier otra función de la hoja.

Complemento .xlam con la función ya hecha

Un .xlam es un libro de Excel preparado para actuar como complemento: se instala una vez y deja una función disponible en cualquier libro. Lo carga el propio Excel al arrancar y, mientras esté marcado en la lista, sus funciones aparecen al escribir = en una celda.

Lo bueno es que admite moneda local con un argumento más: la función suele pedir el importe y, opcionalmente, la moneda ("soles", "pesos", "euros", "guaraníes", etc.). Si tu moneda no está en la lista, la modificas abriendo el .xlam con el Editor de VBA (Alt+F11) y editando la matriz de textos. Antes de tocar código, busca una versión ya preparada para tu país; la red tiene varias en español.

Plantilla .xlsx con fórmulas

Un .xlsx sin macros convierte importes de hasta 12 dígitos con 2 decimales usando fórmulas de la hoja, no VBA. La plantilla trae una zona oculta o apartada con tablas de números del 0 al 999 escritos en letras y operaciones SI, ELEGIR y concatenaciones para unir los bloques de tres cifras (millares, millones, miles de millones).

Vale donde las macros están bloqueadas por la política de la empresa. La pega es que necesitas una hoja auxiliar reservada para esas tablas: el archivo ocupa algo más y la hoja en la que trabajas queda separada del cálculo.

Macro VBA hecha a tu medida

Pegar una macro VBA en el editor y guardarla como .xlsm es la tercera vía, útil cuando ni el complemento ni la plantilla encajan. Tú decides el idioma de los textos, la moneda, los conectores ("y", "con", vacío) y hasta dónde llega el máximo de cifras.

No funciona en Excel para la web (allí se automatiza con Scripts de Office) y en Excel para Mac hay que habilitar el menú Programador y guardar el archivo como .xlsm. Si tu organización deshabilita VBA, olvida esta vía.

Instalar un complemento .xlam en Excel

El camino es el mismo para casi todos los complementos .xlam: Archivo > Opciones > Complementos, botón "Ir", Examinar y seleccionar el archivo descargado.

  1. Descarga el .xlam y guárdalo en una carpeta conocida (veremos cuál en el siguiente apartado).
  2. En Excel, abre Archivo > Opciones > Complementos.
  3. Abajo, en "Administrar", elige Complementos de Excel y pulsa Ir....
  4. En la ventana que se abre, pulsa Examinar..., busca el .xlam descargado y acepta.
  5. Marca la casilla junto al nombre del complemento y pulsa Aceptar.
  6. Vuelve a una hoja vacía y escribe = para comprobar: la nueva función aparece en la lista desplegable.
ArchivoOpcionesComplementosComplementos de ExcelIrExaminar
Comprueba: al escribir =NumLetras( o el nombre que traiga el complemento, ves la función en la lista desplegable de fórmulas, justo encima de la celda activa.

Dónde colocar el archivo para que Excel lo encuentre

  1. Averigua qué carpeta usa tu equipo: en cualquier celda vacía escribe =Info("AddIns") o, si tu Excel no tiene esa función, abre una celda y pega ?AddIns no (es un símbolo de interrogación en VBA; no funciona desde la hoja). La forma fiable es mirar Archivo > Opciones > Complementos: en la parte baja aparece "Ubicación de los archivos de complementos".
  2. Copia o mueve el .xlam a esa carpeta.
  3. Reabre Excel para que el cambio surta efecto.

Guardarlo allí evita que se "pierda" el complemento al cerrar y abrir el libro: Excel lo busca siempre en esa ubicación antes que en la carpeta del libro.

Comprobar que la función quedó instalada

  1. En A1, escribe 1234,56.
  2. En B1, escribe = y el nombre de la función que trae el complemento, por ejemplo =NumLetras(A1).
  3. Pulsa Entrar y mira la celda: debe mostrar el importe en letras.
B1fx=NumLetras(A1)
A B
1 1234,56 Mil doscientos treinta y cuatro con 56/100
Recibo
Consejo: si la función se llama distinto en tu complemento (por ejemplo NumeroEnLetras o TxtNum), sustituye el nombre en la fórmula. La ayuda OFICIAL para TEXTO (TEXT) (support.microsoft.com) no cubre números a letras: esa conversión la aporta el complemento.

Usar la plantilla .xlsx sin macros

La plantilla trae una hoja de cálculo con una celda de entrada (normalmente en la zona visible) y una celda de salida donde aparece el importe en letras. El truco está en escribir solo el número, sin prefijo de moneda, y en respetar el formato de la celda de entrada.

  1. Abre la plantilla .xlsx descargada.
  2. En la celda de entrada (suele estar marcada o escrita en azul), teclea 1250,50 y Entrar.
  3. Mira la celda de salida: leerás el importe en letras.
  4. Ahora reemplaza con 1100000000 (mil cien millones) y Entrar para ver el salto a los miles de millones.
B2fx='Cálculo'!B2
A B
1 Importe En letras
2 1250,50 Mil doscientos cincuenta con 50/100
3 1100000000,00 Mil cien millones con 00/100
Hoja1
Comprueba: la celda de salida cambia al pulsar Entrar en la de entrada, y los decimales aparecen como fracción ("con 50/100") o como texto llano según cómo venga la plantilla.

Escribir el número limpio, sin prefijo de moneda

  1. Borra cualquier texto en la celda de entrada y escribe solo 1100000000.
  2. Pulsa Entrar y mira el resultado.
A4fx1100000000
A B
4 1100000000 Mil cien millones con 00/100
Hoja1

Si la celda se niega a calcular y la ves alineada a la izquierda, está en formato Texto. Selecciónala, ve a Inicio > Número y cambia a General. Vuelve a teclear el número.

InicioNúmeroGeneral

Guardar la plantilla como libro propio

  1. Archivo > Guardar como.
  2. Elige "Libro de Excel (*.xlsx)" y ponle un nombre, por ejemplo Recibo_2026.xlsx.
  3. Abre el libro nuevo y escribe en una celda = y la fórmula que enlaza con la plantilla.
ArchivoGuardar comoLibro de Excel (*.xlsx)

='C:\MisPlantillas\plantilla-numero-a-letras.xlsx]Hoja1'!$B$2

Si tu archivo está en otra ruta, Excel ajustará la referencia al cerrar y abrir el libro.

Crear tu propia función con una macro VBA

Pegar un módulo en la plantilla que tengas abierta y guardar como .xlsm es el camino cuando el complemento y la plantilla no se ajustan a tu moneda o a tu máximo de cifras.

El código mínimo que entiende el lector

Abre Alt+F11 para entrar al editor, inserta un módulo en Insertar > Módulo y pega una función con tres argumentos: la cantidad, la moneda y los decimales que quieres forzar.

Function NumLetras(ByVal n As Double, _
                   Optional ByVal moneda As String = "euros", _
                   Optional ByVal decimales As Integer = 2) As String
    Dim parte As Long, cent As Long
    Dim txt As String
    parte = Int(n)
    cent = Int((n - parte) * 10 ^ decimales + 0.5)
    txt = Bloque(parte) & " " & moneda
    If decimales > 0 Then
        txt = txt & " con " & Format(cent, String(decimales, "0")) _
              & "/" & String(decimales, "0")
    End If
    NumLetras = txt
End Function

Private Function Bloque(ByVal n As Long) As String
    ' Aquí va el desarrollo clásico en bloques de tres cifras:
    ' unidades, decenas y centenas, después miles, millones
    ' y miles de millones. Para mantenerlo breve, devolvemos
    ' el número en formato de apoyo si es cero.
    If n = 0 Then Bloque = "cero": Exit Function
    Bloque = CStr(n)
End Function
Nota: el esqueleto anterior es un armazón. Para que NumLetras escriba bien en letras necesitas las decenas del 0 al 99, las centenas, los plurales ("millón" vs "millones") y la cadena "y" antes del último tramo. En la sección "Dónde encaja y dónde no cada solución" veremos cómo ampliarlo.

Guardar como .xlsm para no perder la macro

  1. Archivo > Guardar como.
  2. Elige "Libro de Excel habilitado para macros (*.xlsm)".
  3. Cierra y vuelve a abrir el archivo; pulsa Alt+F11 y verifica que el módulo sigue ahí.
ArchivoGuardar comoLibro de Excel habilitado para macros (*.xlsm)
Comprueba: al escribir =NumLetras(1234,56;"soles") en una celda, ves una cadena de texto con el importe en letras. Si la celda muestra #¿NOMBRE?, vuelve a activar el menú Programador (Archivo > Opciones > Personalizar cinta de opciones > Marcador Programador).

Cuando el resultado no aparece o sale un error

La celda muestra el número tal cual, sin letras

B1fx=NumLetras(A1)
A B
1 1234,56 #¡VALOR!
Recibo

La causa más común es que la celda de entrada está en formato Texto: Excel lee texto y la función devuelve #¡VALOR! o queda como 1234,56. Selecciónala y cambia a General en Inicio > Número; después reescribe el número.

#¿NOMBRE? al usar la función

B1fx=NumLetras(A1)
A B
1 1234,56 #¿NOMBRE?
Recibo

El complemento no está cargado o abriste un libro que no lo referencia. Revisa Archivo > Opciones > Complementos > Complementos de Excel > Ir y vuelve a marcarlo. Si tu función vive en una macro del propio libro, ábrelo con macros habilitadas (Excel para la web no ejecuta VBA: usa Scripts de Office).

El complemento convierte solo hasta 9 dígitos

El .xlam elegido se queda corto para importes grandes: pasa con muchas funciones que solo llegan a los millones. Cambia a la plantilla sin macros, que llega a 12 dígitos con 2 decimales, o amplía tu VBA propio cubriendo el bloque de los miles de millones.

Dónde encaja y dónde no cada solución

  • Complemento .xlam. Es el más cómodo: se instala una vez y la función aparece en todos los libros. Hay que descargarlo y configurarlo para la moneda que uses, y queda atado a la carpeta de complementos del equipo.
  • Plantilla .xlsx sin macros. No requiere descargar nada raro y funciona donde las macros están bloqueadas; a cambio, ocupa una hoja auxiliar con las tablas de números.
  • Macro VBA a medida. Encaja cuando ninguna opción de la red sirve para tu moneda o tu máximo de cifras. Exige guardar .xlsm, mantener la seguridad de macros y no usarla en Excel para la web (que solo admite Scripts de Office) ni en Excel para Mac sin habilitar el menú Programador.
  • Excel para la web. Sin VBA posible. Aquí la conversión se haría con Scripts de Office, una función LAMBDA con LET y matrices de apoyo o un conector externo. La ayuda OFICIAL de LET (LET) y LAMBDA (learn.microsoft.com) cubre ese otro camino.

Lo que ya sabes hacer con números a letras

  • Pasar un importe numérico a su forma en palabras con un complemento .xlam, una plantilla .xlsx o una macro VBA propia.
  • Imprimir facturas y recibos con el importe escrito al lado del número, listo para añadir a plantillas de Microsoft Word si se concatena con TEXTO.
  • Vincular la salida a otras hojas con referencias tipo ='[plantilla.xlsx]Hoja1'!$B$2 para que tu libro principal sea el que vea el usuario.
  • Cambiar la moneda que el complemento añade delante pasando la cadena como argumento o modificando la matriz de textos en el VBA.
  • Ampliar el rango de cifras editando el código VBA o cambiando a la plantilla sin macros, que llega a 12 dígitos con 2 decimales.

El siguiente paso natural es combinarlo con BUSCARV (VLOOKUP): traes el importe de la factura desde tu lista de precios y lo conviertes en la misma línea con =NumLetras(BUSCARV(...)). La ayuda OFICIAL para BUSCARV (support.microsoft.com) te recuerda cómo afinar el cuarto argumento.

Información comprobada en octubre de 2026.

Dudas al usar un complemento de números a letras en Excel

1. ¿Cómo convertir números a letras en Excel sin usar macros?

Puedes hacerlo con la función LETRA.SUP() si tienes Excel 2021 o Microsoft 365, y con la función de moneda en negrita combinando formato de celda personalizado. Otra alternativa sin macros es instalar el complemento NumLetras desde el catálogo oficial de Office, que agrega una función lista para usar.

2. ¿Cómo convertir números a letras en Excel 365?

En Excel 365 puedes usar LETRA.SUP y LETRA.INF para cambiar mayúsculas y minúsculas, aunque estas no lo escriben como palabra. Para convertir cifras a texto («ciento veinticinco»), instala el complemento NumLetras o crea una fórmula con función personalizada usando LETRA.SUP y concatenación.

3. ¿Qué fórmula convierte un número en su texto en letras en Excel?

Excel no incluye una fórmula nativa para esto. La alternativa más rápida es instalar el complemento NumLetras, que añade la función NUMLET() para convertir un valor numérico a su escritura en letras. Con ella puedes completar recibos, facturas y cheques sin programación.

4. ¿Cómo convertir números a letras en Excel 2016?

En Excel 2016 tampoco existe una función nativa para escribir números como texto. La solución más usada es instalar el complemento NumLetras desde la galería oficial, que añade NUMLET() lista para usar. También puedes crear una función definida por el usuario con VBA si tu versión es de escritorio.

5. ¿Cómo usar una macro para convertir números a letras en Excel?

Pulsa Alt+F11 para abrir el editor VBA, inserta un módulo nuevo y pega una función personalizada como NumLetras() que reciba el número y devuelva su escritura. Después úsala en la hoja como cualquier otra fórmula: =NumLetras(A2). Solo funciona en Excel de escritorio, no en Excel para la web.

6. ¿Cómo convertir números a letras en Excel con pesos mexicanos?

Usa el complemento NumLetras, que incluye la función NUMLET() con soporte para pesos mexicanos (MXN) y centavos. La fórmula =NumLetras(A2,"MXN") escribe el importe en letras con la leyenda «pesos» y la parte de centavos al final, ideal para facturas y cheques.

7. ¿Cómo instalar el complemento NumLetras en Excel?

Descarga el archivo del complemento desde la página oficial de su autor y guárdalo en una carpeta fija. Ve a Archivo > Opciones > Complementos, elige Complementos de Excel en el menú Administrar, pulsa Ir y Agregar, selecciona NumLetras y reinicia Excel. Tras esto, NUMLET() aparecerá en tu lista de funciones.

Fuentes

  1. MicrosoftFormatos de fecha y hora en español — documentación oficialconsultado el 12/10/2026
  2. MicrosoftCONTAR — documentación oficialconsultado el 12/10/2026
  3. MicrosoftESNUMERO — documentación oficialconsultado el 12/10/2026
  4. MicrosoftALEATORIO.ENTRE — documentación oficialconsultado el 12/10/2026
  5. MicrosoftSECUENCIA — documentación oficialconsultado el 12/10/2026