TRADUCIR y TEXTOBAHT
- Jaime Franco Jimenez
- 30 jul 2024
- 2 Min. de lectura
Tenemos una función llamada TEXTOBAHT, esta función convierte un numero en texto tailandés.
Sintaxis
Número, argumento obligatorio. Número que deseamos convertir en texto, o referencia a una celda que contiene un número, o una fórmula que produce un número.
Pues con esta función junto con la función TRADUCIR, hemos encontrado una forma muy sencilla de convertir números en letras.
Tenemos los siguientes números:
En la celda B2, usamos la función TRADUCIR, como argumento texto, ponemos la función TEXTOBAHT, como argumento numero seleccionamos el rango A2:A11, omitimos el argumento lenguaje de origen, y, el argumento lenguaje destino, por lo que detectará el lenguaje de origen, y, lo traducirá al lenguaje de nuestra configuración regional seguido de la palabra baht.
=TRADUCIR(TEXTOBAHT(A2:A11))
Pero, vemos que el numero 19249, no ha sido convertido a texto correctamente.
Si ponemos un numero entre 10.000 y 20.999 no lo traduce correctamente, vamos a ver cómo podemos resolverlo.
Después del signo igual ponemos el condicional SI, como argumento prueba lógica, preguntamos si la longitud del rango A2:A11 es igual a 5, que son los caracteres que no convierte bien, como argumento valor si verdadero, ponemos la función TRADUCIR, como argumento texto, ponemos la función TEXTOBAHT, como argumento número, usamos la función IZQUIERDA, como argumento texto, seleccionamos el rango A2:A11, como argumento numero de caracteres, ponemos 2, cerramos paréntesis, es decir, vamos a traducir los dos primeros caracteres por la izquierda.
=SI(LARGO(A2:A11)=5;TRADUCIR(TEXTOBAHT(IZQUIERDA(A2:A11;2)))
Concatenamos con un espacio, con la palabra mil, y, con otro espacio.
=SI(LARGO(A2:A11)=5;TRADUCIR(TEXTOBAHT(IZQUIERDA(A2:A11;2)))&" mil "
Concatenamos, de nuevo con la función TRADUCIR, y, TEXTOBAHT, como argumento número, usamos la función minusc, como argumento, ponemos la función DERECHA, como argumento texto, seleccionamos el rango A2:A11, como argumento numero de caracteres, ponemos 3, cerramos paréntesis.
=SI(LARGO(A2:A11)=5;TRADUCIR(TEXTOBAHT(IZQUIERDA(A2:A11;2)))&" mil "& TRADUCIR(TEXTOBAHT(DERECHA(A2:A11;3)))
Como argumento valor si falso, es la primera expresión que teníamos.
=SI(LARGO(A2:A11)=5;TRADUCIR(TEXTOBAHT(IZQUIERDA(A2:A11;2)))&" mil "& TRADUCIR(TEXTOBAHT(DERECHA(A2:A11;3)));TRADUCIR(TEXTOBAHT(A2:A11)))
Aceptamos, y, ya lo tenemos.
Vemos que aparece la palabra baht, pues, vamos a quitarla, para ello, después del signo igual, ponemos la función SUSTITUIR, como argumento texto, es el condicional SI, como argumento texto original, dejamos un espacio, y, ponemos la palabra “ baht”, como argumento texto nuevo, ponemos dobles comillas dobles.
=SUSTITUIR(SI(LARGO(A2:A11)=5;TRADUCIR(TEXTOBAHT(IZQUIERDA(A2:A11;2)))&" mil "& TRADUCIR(TEXTOBAHT(DERECHA(A2:A11;3)));TRADUCIR(TEXTOBAHT(A2:A11)));" baht";"")
Aceptamos, y, ya lo tenemos, pero, vemos que el primer carácter de la función DERECHA aparece en mayúscula, por lo que vamos a convertirlo a minúscula, para ello, antes de la función TRADUCIR, usamos la función MINUSC.
Además, vemos que el rango A2:A11, lo usamos varias veces, pues, después del signo igual, ponemos LET, creamos una variable, seleccionamos el rango A2:A11, y, sustituimos el rango A2:A11 por dicha variable.
=LET(a;A2:A11;SUSTITUIR(SI(LARGO(a)=5;TRADUCIR(TEXTOBAHT(IZQUIERDA(a;2)))&" mil "&MINUSC(TRADUCIR(TEXTOBAHT(DERECHA(a;3))));TRADUCIR(TEXTOBAHT(a)));" baht";""))
Miguel Angel Franco
Comments