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.
=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,NumeroALetraso 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
.xlsmy 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.
- Descarga el
.xlamy guárdalo en una carpeta conocida (veremos cuál en el siguiente apartado). - En Excel, abre
Archivo > Opciones > Complementos. - Abajo, en "Administrar", elige
Complementos de Excely pulsaIr.... - En la ventana que se abre, pulsa
Examinar..., busca el.xlamdescargado y acepta. - Marca la casilla junto al nombre del complemento y pulsa
Aceptar. - Vuelve a una hoja vacía y escribe
=para comprobar: la nueva función aparece en la lista desplegable.
=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
- 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?AddInsno (es un símbolo de interrogación en VBA; no funciona desde la hoja). La forma fiable es mirarArchivo > Opciones > Complementos: en la parte baja aparece "Ubicación de los archivos de complementos". - Copia o mueve el
.xlama esa carpeta. - 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
- En
A1, escribe1234,56. - En
B1, escribe=y el nombre de la función que trae el complemento, por ejemplo=NumLetras(A1). - Pulsa Entrar y mira la celda: debe mostrar el importe en letras.
| A | B | |
|---|---|---|
| 1 | 1234,56 | Mil doscientos treinta y cuatro con 56/100 |
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.
- Abre la plantilla
.xlsxdescargada. - En la celda de entrada (suele estar marcada o escrita en azul), teclea
1250,50y Entrar. - Mira la celda de salida: leerás el importe en letras.
- Ahora reemplaza con
1100000000(mil cien millones) y Entrar para ver el salto a los miles de millones.
| A | B | |
|---|---|---|
| 1 | Importe | En letras |
| 2 | 1250,50 | Mil doscientos cincuenta con 50/100 |
| 3 | 1100000000,00 | Mil cien millones con 00/100 |
Escribir el número limpio, sin prefijo de moneda
- Borra cualquier texto en la celda de entrada y escribe solo
1100000000. - Pulsa Entrar y mira el resultado.
| A | B | |
|---|---|---|
| 4 | 1100000000 | Mil cien millones con 00/100 |
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.
Guardar la plantilla como libro propio
Archivo > Guardar como.- Elige "Libro de Excel (*.xlsx)" y ponle un nombre, por ejemplo
Recibo_2026.xlsx. - Abre el libro nuevo y escribe en una celda
=y la fórmula que enlaza con la plantilla.
='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
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
Archivo > Guardar como.- Elige "Libro de Excel habilitado para macros (*.xlsm)".
- Cierra y vuelve a abrir el archivo; pulsa Alt+F11 y verifica que el módulo sigue ahí.
=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
| A | B | |
|---|---|---|
| 1 | 1234,56 | #¡VALOR! |
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
| A | B | |
|---|---|---|
| 1 | 1234,56 | #¿NOMBRE? |
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
LETy matrices de apoyo o un conector externo. La ayuda OFICIAL deLET(LET) yLAMBDA(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.xlsxo 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$2para 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
- MicrosoftFormatos de fecha y hora en español — documentación oficialconsultado el 12/10/2026
- MicrosoftCONTAR — documentación oficialconsultado el 12/10/2026
- MicrosoftESNUMERO — documentación oficialconsultado el 12/10/2026
- MicrosoftALEATORIO.ENTRE — documentación oficialconsultado el 12/10/2026
- MicrosoftSECUENCIA — documentación oficialconsultado el 12/10/2026