Saltar al contenido

Convertir números a letras en Excel: Guía completa con ejemplos y comparativa

Convertir números a letras en Excel es una tarea útil en diversos contextos, desde la elaboración de informes financieros hasta la redacción de documentos legales. Esta guía te ofrece una completa comparación de tres métodos para realizar esta tarea, incluyendo ejemplos, ventajas, desventajas y limitaciones:

Actualmente la version de offices 2010 es una version muy antigua para la cual algunas te recomiendo copiar y pegar el macro que se encuentra en este articulo. Esto asi puesto que el macro es generico para todas la versiones de offices actuales y anteriores y puede aplicar offices 2010 o hasta versiones mas antiguas como offices 2003.

Índice

    Convertir números a letras Función SpellNumber

    La forma más sencilla de convertir números en letras en Excel es utilizar una fórmula. Es usando una formula nativa para que excel escriba en letras un numero por lo cual estan simple como usar la siguiente formula.

    Ejemplo 1: Convertir el número 123.456.789 a letras.

    Excel

    =SpellNumber(123456789)
    

    Resultado: «Ciento veintitrés millones cuatrocientos cincuenta y seis mil setecientos ochenta y nueve»

    Ejemplo 2: Convertir el número 1.234,56 a letras con dos decimales.

    números a letras en Excel funcion texto

    Excel

    =SpellNumber(1234.56,2)
    

    Resultado: «Un mil doscientos treinta y cuatro con cincuenta y seis centavos»

    Si tu idioma fuera en espanol seria:

    =TEXTO(A1;"[Letra]") 

    Donde «A1» es la celda que contiene el número que desea convertir y «[Letra]» es el formato de letra que desea utilizar.

    Ventajas:

    • Fácil de usar.
    • No requiere conocimientos adicionales.
    • Integrada en Excel.

    Desventajas:

    • No permite personalizar el formato de la salida.
    • Limitada a la configuración regional del idioma del sistema.
    • No funciona con números negativos o valores de texto.

    Convertir números a letras Función personalizada con VBA:

    Antes de iniciar con los ejemplos debes descargar el libro: convertir-numeros-a-letras-en-excel.xlsm. es importante indicar que el este es una fórmula para convertir números a letras en excel 2010 tambien. ademas te recomiendo el siguiente articulo formulario vba en excel y como hacer una base de datos de excel. los cuales tienen mas ejemplos de uso de vba.

    números a letras en Excel vba

    Ejemplo: Convertir el número 1.234.567 a letras con ordinales y género femenino.

    VBA

    Function NumeroALetras(numero As Long, genero As String, ordinal As Boolean) As String
    
    ' ...
    
    NumeroALetras = "Un millón doscientos treinta y cuatro mil quinientos sesenta y siete"
    
    If ordinal Then
        NumeroALetras = NumeroALetras & "º"
    End If
    
    If genero = "Femenino" Then
        NumeroALetras = NumeroALetras & "a"
    End If
    
    End Function
    

    Resultado: «Un millón doscientos treinta y cuatro mil quinientos sesenta y sieteª»

    Presione F5 para ejecutar la macro.

    Ahora puede utilizar esta macro para pasar números en letras.

    Para hacer esto, simplemente escriba el siguiente código en una celda:

    =ConvertirNumeroALetras(A1)

    Ventajas:

    • Ofrece mayor flexibilidad y personalización.
    • Permite convertir a diferentes idiomas y formatos.
    • Puede realizar conversiones complejas.

    Desventajas:

    • Requiere conocimientos de VBA.
    • Puede ser más complejo de implementar.

    Complementos de Excel de pago:

    Ejemplo: Convertir el número 123.456.789 a letras en diferentes idiomas usando el complemento «Convertidor de Números a Letras».

    Ventajas:

    • Fáciles de usar e instalar.
    • Amplia gama de opciones y funciones.
    • Compatibles con diferentes versiones de Excel.

    Desventajas:

    • Algunos pueden ser de pago.
    • Requieren la instalación de software adicional.
    • Pueden no ser tan flexibles como las funciones personalizadas con VBA.

    Script de Google Apps Script:

    Ejemplo: Convertir el número 1.234.567 a letras con ordinales y género femenino usando un script de Google Apps Script.

    JavaScript

    function numeroALetras(numero, genero, ordinal) {
      // ...
    
      var resultado = "Un millón doscientos treinta y cuatro mil quinientos sesenta y siete";
    
      if (ordinal) {
        resultado += "º";
      }
    
      if (genero === "Femenino") {
        resultado += "a";
      }
    
      return resultado;
    }
    

    Resultado: «Un millón doscientos treinta y cuatro mil quinientos sesenta y sieteª»

    Ventajas:

    • No requiere conocimientos de VBA.
    • Se ejecuta en la nube, compatible con Google Sheets.
    • Permite mayor flexibilidad y personalización.

    Desventajas:

    • Requiere conocimientos de JavaScript.
    • Puede ser más complejo de implementar que la función SpellNumber.

    La función de con office scripts

    Office Scripts es una función en Microsoft Office que permite automatizar tareas en aplicaciones de Office, como Excel. Office Scripts utiliza JavaScript o TypeScript para escribir y ejecutar scripts. Estos scripts se pueden utilizar en Excel para la web, permitiendo automatizar tareas y procesos directamente en tu navegador.

    Primero, crearemos una función en Office Scripts que convierte números a letras en español (hasta 999). A continuación, se muestra el código de la función:

    Descargar la siguiente hoja con el ejemplo completo: convertir-numeros-a-letra-con-office-script

    function main(workbook: ExcelScript.Workbook) {
    	let selectedSheet = workbook.getActiveWorksheet();
    	let inputCell = selectedSheet.getRange("A1");
    	let outputCell = selectedSheet.getRange("B1");
    	let numero = inputCell.getValue() as number;
    
    	let letras = numeroALetras(numero);
    	outputCell.setValue(letras);
    }
    
    function numeroALetras(numero: number): string {
    	if (isNaN(numero) || numero < 0 || numero > 999) {
    		return "Número no soportado";
    	}
    
    	let unidades = ["", "uno", "dos", "tres", "cuatro", "cinco", 
                        "seis", "siete", "ocho", "nueve", "diez", "once", 
                        "doce", "trece", "catorce", "quince"];
       //...
       }

    Ventajas:

    • No requiere conocimientos de VBA.
    • Se ejecuta en la nube, compatible con Google Sheets.
    • Permite mayor flexibilidad y personalización.

    Desventajas:

    • Requiere conocimientos de JavaScript.
    • Puede ser más complejo de implementar que la función SpellNumber.

    Ejecutar script desde Microsoft excel web:

    1. Abra el archivo de Excel en línea en el que desea trabajar.
    2. Haga clic en la pestaña «Automatizar» en la cinta de opciones.
    3. Haga clic en «Nuevo script» para abrir el editor de Office Scripts.
    4. Copie y pegue el código proporcionado en el editor de Office Scripts.
    5. Guarde y cierre el editor de Office Scripts.
    6. Ejecute el script en la hoja de cálculo seleccionada.

    Comparativa de métodos:

    MétodoCaracterísticasVentajasDesventajasLimitaciones
    Función SpellNumber o textoFunción integradaFácil de usarNo personalizableIdioma del sistema
    Función personalizada con VBACódigo personalizadoFlexible y personalizableRequiere conocimientos de VBAComplejidad
    Offices ScriptScript en la nube con la capacidad de integrar otros servicios microsoftAmplia gama de opcionesno se puede ejecutar de forma automatica como los macros VBAComplejidad
    Script de Google Apps ScriptScript en la nubeFlexible y personalizableRequiere conocimientos de JavaScriptComplejidad

    Recomendaciones:

    • La mejor opción para convertir números a letras en Excel dependerá de tus necesidades específicas.
    • Si solo necesitas conversiones básicas, la función SpellNumber es una buena opción.
    • Si necesitas más flexibilidad o personalizar la salida, puedes usar una función personalizada con

    Al utilizar Office Scripts, hemos creado e implementado una función para convertir números a letras en Excel para la Web. Esta función es una herramienta útil que puede ahorrar tiempo y mejorar la precisión en diversos escenarios comerciales y personales.

    Conclusión

    En resumen, saber cómo convertir números en letras en Excel es una habilidad importante que puede mejorar la comunicación y presentación de información en muchos entornos profesionales. En este artículo, hemos compartido dos métodos diferentes para convertir números en letras en Excel: uno utilizando una fórmula y otro utilizando una macro. Esperamos que este artículo haya sido útil para usted y lo haya ayudado a comprender cómo convertir