Cómo convertir números a palabras sin VBA

Tabla de contenido

En mi artículo anterior, había explicado cómo convertir un número a palabras en Excel usando VBA. Había escrito varias líneas de código para lograr esto. Pero nunca me había imaginado que podemos convertir números en palabras simplemente usando fórmulas de Excel. Pero uno de nuestros usuarios de Excelforum lo hizo. Nunca imaginé que pudiéramos convertir números en palabras.

Esta fórmula se utiliza para convertir un número en moneda estadounidense. Esta fórmula puede convertir números de un rango de centavos a miles de millones. El número también puede tener dos decimales.

Este usuario con Id HaroonSid escribió una fórmula loca. La fórmula tiene una página de largo y si la menciono aquí ahora, cubrirá toda la publicación. Entonces, lo he mencionado al final de la publicación. Puede descargar el archivo de Excel a continuación para verificar la fórmula.

Número a palabras

La fórmula es demasiado larga para explicar, pero puedo explicar la lógica. Esta fórmula determina la longitud del número. Luego usa la función ELEGIR para sustituir números con palabras. Pero esto no es tan fácil. Esta fórmula identifica una vez, decenas, cientos, miles, millones y miles de millones. Identifica qué número viene en qué sección. Otra complejidad es esta. El número 12 puede ser uno o dos en grandes cantidades o doce. Esto se suma a una gran complejidad. Pero este hombre pudo resolver esta complejidad y hacer que esta fórmula funcionara de manera eficiente.

Entonces ahora estoy mencionando la fórmula. Esta fórmula se aplica a B2. Cualquier número escrito en B2 se convertirá en palabras. Esta fórmula convierte números en dólares estadounidenses, pero puede ajustarla para convertirlos a cualquier moneda o unidad con solo buscar y reemplazar "dólares" y "centavos". Por ejemplo, si desea convertir números a rupias indias y pais, simplemente busque y reemplace.

Así que sostenga su silla. Aquí está la fórmula.

Fórmula para convertir números en palabras:

= SI (O (LEN (PISO (B2,1)) = 13, PISO (B2,1) 1, CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 3,1) +1 , "", "- uno", "- dos", "- tres", "- cuatro", "- cinco", "- seis", "- siete", "- ocho", "- nueve"), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12)), 2,1)) = 0, CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 3, 1) +1, "", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"), "")), IF (B2> = 10 9, "mil millones", ""), CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 4,1) +1, "", "cien" , "doscientos", "trescientos", "cuatrocientos", "quinientos", "seiscientos", "setecientos", "ochocientos", "novecientos"), CHOOSE (MID (TEXT (INT ( B2), REPT (0,12)), 5,1) +1, "", ELEGIR (MID (TEXT (INT (B2), REPT (0,12)), 6,1) +1, "diez" , "once", "doce", "trece", "catorce", "quince", "dieciséis", "diecisiete", "dieciocho", "diecinueve"), "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12)), 5,1))> 1, CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 6,1) +1, "", "- uno", "- dos", "- tres", "- cuatro", " -cinco "," - seis "," - siete "," - ocho "," - nueve "), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12 )), 5,1)) = 0, CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 6,1) +1, "", "uno", "dos", "tres "," cuatro "," cinco "," seis "," siete "," ocho "," nueve ")," ")), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12 )), 4,3))> 0, "millón", ""), CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 7,1) +1, "", "uno cien "," doscientos "," trescientos "," cuatrocientos "," quinientos "," seiscientos "," setecientos "," ochocientos "," novecientos "), ELIGE (MID (TEXT ( INT (B2), REPT (0,12)), 8,1) +1, "", ELEGIR (MID (TEXT (INT (B2), REPT (0,12)), 9,1) +1, " diez "," once "," doce "," trece "," catorce "," quince "," dieciséis "," diecisiete "," dieciocho "," diecinueve ")," veinte "," treinta "," cuarenta "," cincuenta "," sesenta "," setenta "," ochenta "," noventa "), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12)), 8,1))> 1, ELEGIR (MID (TEXT (INT (B2), REPT (0,12)), 9,1) +1, "", "- uno", "- dos", "- tres", "- cuatro" , "- cinco", "- seis", "- siete", "- ocho", "- nueve"), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12)), 8, 1)) = 0, CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 9,1) +1, "", "uno", "dos", "tres", "cuatro" , "cinco", "seis", "siete", "ocho", "nueve"), "")), IF (VALUE (MID (TEXT (INT (B2), REPT (0,1 2)), 7,3)), "mil", ""), CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 10,1) +1, "", "cien "," doscientos "," trescientos "," cuatrocientos "," quinientos "," seiscientos "," setecientos "," ochocientos "," novecientos "), ELIGE (MID (TEXT (INT (B2), REPT (0,12)), 11,1) +1, "", CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 12,1) +1, "diez "," once "," doce "," trece "," catorce "," quince "," dieciséis "," diecisiete "," dieciocho "," diecinueve ")," veinte "," treinta "," cuarenta " , "cincuenta", "sesenta", "setenta", "ochenta", "noventa"), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12)), 11,1))> 1 , CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 12,1) +1, "", "- uno", "- dos", "- tres", "- cuatro", "-cinco", "- seis", "- siete", "- ocho", "- nueve"), IF (VALUE (MID (TEXT (INT (B2), REPT (0,12)), 11,1 )) = 0, CHOOSE (MID (TEXT (INT (B2), REPT (0,12)), 12,1) +1, "", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"), ""))), "", "") & IF (FLOOR (B2,1)> 1, "dólares", "dólar ")) & IF (ISERROR (FIND (". ", B2,1))," "," y "& PROPER (IF (LEN (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2,". ", REPT (") ", 255)), 255,200)), 2)) = 1, ELEGIR (1 * IZQUIERDA (T RIM (MID (SUBSTITUTE (Sheet1! B2, ".", REPT ("", 255)), 255,200)), 2), "diez", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa") & "centavos", "") & CONCATENAR (ELEGIR (MID (TEXT (INT (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2, ".", REPT ("", 255)), 255,200)), 2)), REPT (0,12)), 11,1) +1, "", CHOOSE (MID (TEXT (INT (LEFT (TRIM (MID (SUBSTITUTE (Hoja1! B2, ".", REPT ("", 255)), 255,200)), 2)), REPT (0,12)), 12,1) +1, "diez", "once", " doce "," trece "," catorce "," quince "," dieciséis "," diecisiete "," dieciocho "," diecinueve ") y" centavos "," veinte "," treinta "," cuarenta "," cincuenta "," sesenta "," setenta "," ochenta "," noventa "), IF (VALUE (MID (TEXT (INT (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2,". ", REPT (" ", 255)), 255,200)), 2)), REPT (0,12)), 11,1))> 1, CHOOSE (MID (TEXT (INT (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2, ". ", REPT (" ", 255)), 255,200)), 2)), REPT (0,12)), 12,1) +1," "," - uno "," - dos "," - tres "," - cuatro "," - cinco "," - seis "," - siete "," - ocho "," - nueve ") y" centavos ", IF (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2 , ".", REPT ("", 255)), 255,200)), 2) = "01", "un centavo", IF (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2, ".", REPT ( "", 255)), 255,200)), 1) = "0", CHOOSE (MID (TEXT (INT (LEFT (TRIM (MID (SUBSTITUTE (Sheet1! B2, ".", REPT ("", 255)) , 255,200)), 2)), REPT (0,12)), 12,1) +1, "", "uno", "dos", "tres", "cuatro", "cinco", "seis" , "siete", "ocho", "nueve") & "centavos", "")))))))

Así que sí, esta es la fórmula. ¿Te gusta eso? Espero que te sea de utilidad. Si no desea usar esto, use el método VBA para convertir números en palabras. Si tiene alguna duda con respecto a este artículo o si tiene alguna otra pregunta relacionada con Excel, pregunte también en la sección de comentarios a continuación.

Cómo convertir números a palabras en Excel en rupias : Podemos crear una fórmula de Excel personalizada para convertir números en palabras en rupias indias. He creado esta función personalizada para convertir números en palabras en términos de rupias indias. Puede descargar el archivo de macro

13 métodos para acelerar Excel | Excel es lo suficientemente rápido como para calcular 6.6 millones de fórmulas en 1 segundo en condiciones ideales con una PC de configuración normal. Pero a veces observamos que los archivos de Excel hacen cálculos más lentamente que los caracoles. Hay muchas razones detrás de este rendimiento más lento. Si podemos identificarlos, podemos hacer que nuestras fórmulas se calculen más rápido.

Centrar la hoja de Excel horizontal y verticalmente en la página de Excel : Microsoft Excel le permite alinear la hoja de trabajo en una página, puede cambiar los márgenes, especificar márgenes personalizados o centrar la hoja de trabajo horizontal o verticalmente en la página. Los márgenes de la página son los espacios en blanco entre los datos de la hoja de trabajo y los bordes de la página impresa.

Dividir una celda en diagonal en Microsoft Excel 2016 : Para dividir celdas en diagonal, usamos el formato de celda e insertamos una línea de división diagonal en la celda. Esto separa las celdas en diagonal visualmente.

¿Cómo inserto una marca de verificación en Excel 2016? : Para insertar una marca de verificación en la celda de Excel, usamos los símbolos en Excel. Establezca las fuentes en wingdings y use la fórmula Char (252) para obtener el símbolo de una marca de verificación.

Cómo deshabilitar el bloqueo de desplazamiento en Excel : Las teclas de flecha en Excel mueven su celda hacia arriba, abajo, izquierda y derecha. Pero esta función solo es aplicable cuando Scroll Lock en Excel está deshabilitado. Scroll Lock en Excel se usa para desplazarse hacia arriba, abajo, izquierda y derecha en su hoja de trabajo, no en la celda. Entonces, este artículo lo ayudará a verificar el estado del bloqueo de desplazamiento y cómo deshabilitarlo.

Qué hacer si los enlaces de ruptura de Excel no funcionan : Cuando trabajamos con varios archivos de Excel y usamos fórmulas para hacer el trabajo, creamos vínculos entre diferentes archivos de forma intencionada o no. Los enlaces de fórmulas normales se pueden romper fácilmente utilizando la opción de romper enlaces.

Articulos populares:

50 accesos directos de Excel para aumentar su productividad | Acelera tu tarea. Estos 50 accesos directos le permitirán trabajar aún más rápido en Excel.

Cómo utilizar la función BUSCARV de Excel| Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

Cómo usar Excel Función COUNTIF| Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico. La función Countif es esencial para preparar su tablero.

Cómo usar la función SUMIF en Excel | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave