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

Convertir números en palabras en Excel – Una guía completa

AutorXiaoyang Fecha de modificación

La conversión de números a palabras es habitual en informes financieros, documentos legales, facturas o cheques. Aunque Excel no incluye esta función de forma predeterminada, existen varias opciones fiables para conseguirla: desde funciones integradas de Microsoft 365 hasta funciones personalizadas en VBA y potentes complementos de terceros. Esta guía completa le explica cada método, destaca sus ventajas y limitaciones, y le ayuda a elegir el enfoque más adecuado para sus necesidades específicas.

Una captura de pantalla que muestra cómo convertir números en palabras en Excel

Métodos para convertir Convertir a palabras en Excel

Esta sección presenta tres métodos eficaces para convertir texto en palabras en Excel. Elija el que mejor se adapte a su versión de Excel y a sus necesidades.


Método 1: Utilice las nuevas funciones integradas (solo Microsoft 365)

Si utiliza Excel para Microsoft 365, puede aprovechar la nueva función TRANSLATE para convertir fácilmente números en palabras mediante una combinación creativa de fórmulas.

Como se muestra en la siguiente captura de pantalla, para convertir los números de moneda del rango A2:A5 a palabras, puede aplicar la siguiente fórmula.

  1. Seleccione una celda vacía (por ejemplo, B2) e introduzca la fórmula siguiente.
    =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
  2. Pulse «Intro» y arrastre el controlador de relleno hacia abajo para aplicarlo a las demás filas.
    Una captura de pantalla que muestra cómo utilizar la nueva función para convertir números en palabras

Cómo funciona la fórmula:

  • BAHTTEXT: Convierte el número en texto expresado en baht tailandés (por ejemplo, «หนึ่งบาทถ้วน»).
  • TRANSLATE(...,«th»,«en»): Traduce texto de un idioma a otro (requiere Microsoft 365). En este caso, del tailandés al inglés.
  • MINUSC: Convierte toda la cadena a minúsculas para garantizar coherencia.
  • SUSTITUIR: Reemplaza términos monetarios como «baht» y «satang» por los que prefieras.
  • NOMPROPIO: Convierte la primera letra de cada palabra en mayúscula para lograr un formato adecuado.

Adaptación para otras monedas:

La fórmula anterior genera dólares estadounidenses. Puede adaptarla a otras divisas reemplazando las unidades principal y secundaria:

  • Reemplace «dólares» por la unidad principal de su moneda objetivo, como «libras» en el caso de la libra esterlina.
  • Reemplace «centavos» por la subunidad correspondiente, como «peniques» en el caso de la libra esterlina.

La siguiente tabla enumera las divisas compatibles y las fórmulas correspondientes que puede utilizar:

MonedaReemplazo de unidad principalReemplazo de subunidadFórmula de ejemplo (suponiendo que el valor está en la celda A2)
USDdólarescentavos=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
GBPlibraspeniques=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«pounds»),«satang»,«pence»))
EUReuroscentavos=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«euros»),«satang»,«cents»))
MYRringgitsen=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«ringgit»),«satang»,«sen»))

Limitaciones de este método:

  • Solo es compatible con Excel para Microsoft 365 (debido a la función TRANSLATE()).
  • La salida depende en gran medida de la precisión del formato de BAHTTEXT().
  • Este método es ideal para monedas que, como el baht tailandés, se componen de una unidad principal y una subunidad (por ejemplo, dólares y centavos). No es recomendable para monedas que no siguen una estructura similar.

Método 2: Utilice una función definida por el usuario en VBA

En esta sección aprenderá a utilizar una función definida por el usuario (UDF) basada en VBA para convertir valores numéricos en palabras, expresadas en moneda inglesa y configurada de forma predeterminada para dólares estadounidenses (USD).

Paso 1: Inserte el código VBA

  1. Abra la hoja de cálculo en la que desea utilizar esta función.
  2. Pulse «Alt» + «F11» para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
  3. En el editor, haga clic en «Insertar» > «Módulo» y pegue el siguiente código VBA.
    Function SpellNumberToEnglish(ByVal pNumber)
    'Update by Extendoffice
    Dim Dollars, Cents
    arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
    pNumber = Trim(Str(pNumber))
    xDecimal = InStr(pNumber, ".")
    If xDecimal > 0 Then
        Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
        pNumber = Trim(Left(pNumber, xDecimal - 1))
    End If
    xIndex = 1
    Do While pNumber <> ""
        xHundred = ""
        xValue = Right(pNumber, 3)
        If Val(xValue) <> 0 Then
            xValue = Right("000" & xValue, 3)
            If Mid(xValue, 1, 1) <> "0" Then
                xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
            End If
            If Mid(xValue, 2, 1) <> "0" Then
                xHundred = xHundred & GetTens(Mid(xValue, 2))
            Else
                xHundred = xHundred & GetDigit(Mid(xValue, 3))
            End If
        End If
        If xHundred <> "" Then
            Dollars = xHundred & arr(xIndex) & Dollars
        End If
        If Len(pNumber) > 3 Then
            pNumber = Left(pNumber, Len(pNumber) - 3)
        Else
            pNumber = ""
        End If
        xIndex = xIndex + 1
    Loop
    Select Case Dollars
        Case ""
            Dollars = "No Dollars"
        Case "One"
            Dollars = "One Dollar"
        Case Else
            Dollars = Dollars & " Dollars"
    End Select
    Select Case Cents
        Case ""
            Cents = " and No Cents"
        Case "One"
            Cents = " and One Cent"
        Case Else
            Cents = " and " & Cents & " Cents"
    End Select
    SpellNumberToEnglish = Dollars & Cents
    End Function
    Function GetTens(pTens)
    Dim Result As String
    Result = ""
    If Val(Left(pTens, 1)) = 1 Then
        Select Case Val(pTens)
            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"
            Case Else
        End Select
    Else
    Select Case Val(Left(pTens, 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 "
        Case Else
    End Select
    Result = Result & GetDigit(Right(pTens, 1))
    End If
    GetTens = Result
    End Function
    Function GetDigit(pDigit)
    Select Case Val(pDigit)
        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
    Una captura de pantalla que muestra el editor de código
  4. Pulse «Alt + Q» para regresar a la hoja de cálculo.

Paso 2: Aplique la función

  1. En una celda, introduzca la fórmula siguiente y pulse «Intro».
    =SpellNumberToEnglish(A2)
  2. Luego, arrastre el controlador de relleno para aplicarlo a otras filas según sea necesario. Sus números aparecerán ahora escritos con palabras, como:
    Una captura de pantalla que muestra la función definida por el usuario y los resultados

Adaptación para otras monedas:

La función genera valores en «Dólar(es)» y «Centavo(s)», términos codificados exclusivamente para el USD. Si desea convertir números a otras monedas, como la «Libra británica», deberá modificar manualmente las unidades principal y secundaria en las siguientes líneas de código.

Una captura de pantalla que muestra cómo modificar el código para adaptarlo a otras divisas

Guarde el libro como un archivo habilitado para macros

De forma predeterminada, las funciones VBA no se conservarán a menos que el libro se guarde como un libro habilitado para macros:

  1. Pulsa «Ctrl» + «S» para guardar.
  2. Y seleccione el botón «Volver» en el mensaje emergente sobre macros.
    Nota: Si el mensaje muestra solo «Sí», «No» y «Ayuda», haga clic en «No».
    Una captura de pantalla que muestra cómo modificar el código para adaptarlo a otras divisas
  3. En la ventana «Guardar como».
    1. Elija una ubicación donde guardar.
    2. Seleccione «Libro de Excel habilitado para macros (*.xlsm)» en la lista desplegable «Especificar formato de guardado».
    3. Haga clic en «Guardar».
      Una captura de pantalla que muestra cómo modificar el código para adaptarlo a otras divisas

Limitaciones de la función VBA SpellNumberToEnglish

Sin compatibilidad con varios idiomas
  • Esta función solo genera resultados en inglés.
  • No admite otros idiomas (como el francés o el alemán) ni gestiona estructuras monetarias en las que la unidad de moneda precede al número (por ejemplo, «Rupias Cien» en inglés indio).
No se guarda en formato estándar Archivos de Excel
  • Si no guarda el libro como un libro habilitado para macros (.xlsm), perderá la función al cerrar Excel.
  • Si lo guarda como un archivo .xlsx normal, todo el código VBA se eliminará.
Advertencia de seguridad de macros al compartir
  • Al enviar el archivo habilitado para macros a otros usuarios, estos verán el aviso «Advertencia de seguridad: Las macros han sido deshabilitadas» al abrirlo.
  • Algunos usuarios podrían dudar en habilitar las macros por preocupaciones de seguridad y optar por no usar el archivo.
Requiere conocimientos de VBA para personalización
  • Cualquier modificación en los términos o el formato de la moneda exige una edición manual del código VBA.
  • No es ideal para usuarios que no estén familiarizados con macros o la programación.

Método 3: Utilice Kutools para Excel (sin fórmulas ni VBA)

Si instala «Kutools para Excel», aproveche su función «Convertir a palabras» para transformar números en inglés (ya sea como moneda o en palabras simples), así como en decenas de otros idiomas y divisas, como EUR, GBP, JPY, etc.

Si busca una solución fácil de usar, sin código y versátil para convertir Convertir a palabras en Excel, Kutools para Excel ofrece una función específica denominada “Convertir a palabras” que admite:

  • Inglés (USD, GBP, EUR, etc.)
  • Decenas de otros idiomas y monedas (por ejemplo, Yen japonés, Rupia india, yuan chino)
  • Formato de moneda o palabras simples (por ejemplo, «Ciento veintitrés» en lugar de «Ciento veintitrés dólares»)

Pasos para usarlo:

  1. Seleccione las celdas que contienen los números que desea convertir.
  2. Seleccione «Kutools» > «Contenido» > «Convertir a palabras».
  3. En el cuadro de diálogo «Números a palabras de moneda», debe:
    1. Seleccione el idioma y el formato de moneda de su preferencia (por ejemplo, inglés – Estados Unidos para USD).
    2. Haga clic en «Aceptar».
      Una captura de pantalla que muestra el cuadro de diálogo de conversión de números a palabras de moneda

Opcional: active la casilla «No convertir a moneda» si prefiere palabras en inglés sencillas (sin «dólares» ni «centavos»).

Los números seleccionados se convertirán ahora en sus palabras de moneda correspondientes, según su configuración.

Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora


Operación inversa: Convertir palabras de moneda en números

Si tiene una lista de importes en moneda escritos con palabras en inglés, como:

«Ciento veintitrés dólares con cuarenta y cinco centavos»

y desea convertirlos en números reales en Excel (por ejemplo, 123,45), puede utilizar una función personalizada definida por el usuario en VBA (UDF), como se indica a continuación.

Paso 1: Abra el editor de VBA e inserte el código VBA

  1. Abra su libro de Excel.
  2. Pulse «Alt» + «F11» para abrir el editor de Microsoft Visual Basic para Aplicaciones (VBA).
  3. En el editor de VBA, haga clic en «Insertar» > «Módulo».
  4. Copie y pegue el siguiente código VBA en la ventana en blanco del módulo:
    Function WordsToNumber(ByVal Txt As String) As Double
    'Updated by Extendoffice
        Dim x As Object: Set x = CreateObject("Scripting.Dictionary")
        Dim units, tens, specials
        Dim part As String, parts() As String
        Dim total As Double, partial As Double, multiplier As Double
        Dim i As Long, word As String
        
        Txt = LCase(Trim(Txt))
        Txt = Replace(Txt, ",", "")
        Txt = Replace(Txt, "-", " ")
        Txt = Replace(Txt, " and ", " ")
        Txt = Replace(Txt, "  ", " ")
        
        ' Setup basic number words
        x.Add "zero", 0: x.Add "one", 1: x.Add "two", 2: x.Add "three", 3
        x.Add "four", 4: x.Add "five", 5: x.Add "six", 6: x.Add "seven", 7
        x.Add "eight", 8: x.Add "nine", 9: x.Add "ten", 10: x.Add "eleven", 11
        x.Add "twelve", 12: x.Add "thirteen", 13: x.Add "fourteen", 14
        x.Add "fifteen", 15: x.Add "sixteen", 16: x.Add "seventeen", 17
        x.Add "eighteen", 18: x.Add "nineteen", 19: x.Add "twenty", 20
        x.Add "thirty", 30: x.Add "forty", 40: x.Add "fifty", 50
        x.Add "sixty", 60: x.Add "seventy", 70: x.Add "eighty", 80
        x.Add "ninety", 90: x.Add "hundred", 100: x.Add "thousand", 1000
        x.Add "million", 1000000: x.Add "billion", 1000000000
        
        Dim dollarPart As String, centPart As String
        Dim dollarValue As Double, centValue As Double
        
        ' Split into dollars and cents
        If InStr(Txt, "dollar") > 0 Then
            dollarPart = Trim(Split(Txt, "dollar")(0))
        End If
        If InStr(Txt, "cent") > 0 Then
            centPart = Trim(Split(Txt, "cent")(0))
            If InStr(centPart, "dollar") > 0 Then
                centPart = Trim(Split(centPart, "dollar")(1))
            End If
        End If
        
        dollarValue = ParseWordsToNumber(dollarPart, x)
        centValue = ParseWordsToNumber(centPart, x)
        
        WordsToNumber = dollarValue + centValue / 100
    End Function
    
    Private Function ParseWordsToNumber(ByVal Txt As String, x As Object) As Double
        Dim parts() As String: parts = Split(Txt, " ")
        Dim total As Double, current As Double
        Dim i As Long, val As Double
        
        For i = 0 To UBound(parts)
            If x.exists(parts(i)) Then
                val = x(parts(i))
                Select Case val
                    Case 100
                        If current = 0 Then current = 1
                        current = current * val
                    Case Is >= 1000
                        If current = 0 Then current = 1
                        total = total + current * val
                        current = 0
                    Case Else
                        current = current + val
                End Select
            End If
        Next i
        
        total = total + current
        ParseWordsToNumber = total
    End Function

Paso 2: Aplique la función en su hoja

  1. Pulse «Alt + Q» para regresar a Excel.
  2. En cualquier celda vacía, introduce esta fórmula y pulsa «Intro». Luego, arrastra el «controlador de relleno» hacia abajo para obtener el resto de los resultados.
    =WordsToNumber(A2)
    Una captura de pantalla que muestra cómo convertir palabras en números

Conclusión

Convertir Convertir a palabras —o palabras de nuevo a números— no es algo que Excel ofrezca de forma nativa, pero esta guía ha demostrado que existen múltiples soluciones prácticas en función de sus necesidades:

  • Los usuarios de Microsoft 365 pueden aprovechar funciones integradas modernas, como TRANSLATE, para convertir números de moneda en palabras en inglés mediante fórmulas, especialmente en el caso de monedas que siguen una estructura de «unidad principal + subunidad».
  • Las funciones definidas por el usuario en VBA ofrecen una mayor flexibilidad tanto para convertir cantidades en palabras como para revertir palabras de moneda a valores numéricos. Sin embargo, plantean preocupaciones de seguridad relacionadas con las macros y son más adecuadas para usuarios familiarizados con la programación.
  • Kutools para Excel ofrece la opción más sencilla, completa y multilingüe, sin necesidad de fórmulas ni programación, y compatible con decenas de monedas e idiomas.
  • Si necesita convertir palabras nuevamente en números, la solución en VBA cubre esta necesidad de forma eficaz, aunque puede requerir una ligera limpieza (por ejemplo, eliminar comas) para garantizar resultados precisos.

Ya sea que esté preparando documentos financieros, automatizando la impresión de cheques o simplemente mejorando la presentación de sus datos, elegir el método adecuado le garantizará resultados profesionales y precisos.


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