25 septiembre, 2023

REEMPLAZAR SEPARADOR DECIMAL POR UNA COMA

Hola a todos y feliz año! espero que se cumplan todos vuestros proyectos y sueños en este nuevo año que acabamos de empezar.

Hoy me apetece trabajar un poco las fórmulas, no todo ha de ser programar :). El tema que voy a tratar hoy es algo que no suele suceder muy a menudo, pero cuando surge suele dar un poco de trabajo para tratar la información. El caso es el siguiente, imaginad que desde una aplicación os habéis descargado una base de datos con importes y resulta que las cifras tienen como separador decimal un punto en lugar de una coma, esto es un problema, no solo en Excel sino en la mayor parte de programas de tratamiento de datos, que no reconocerán correctamente el formato y surgirán errores.

Ahora vamos a seguir imaginando y resulta que los datos que tenemos son el PIB de varios países. Esta es la información:

REEMPLAZAR SEPARADOR DECIMAL

Pues bien, ahora tenemos por delante el trabajo de convertir el último punto en una coma para que ésta sea el separador decimal. Hay varias formas de hacerlo, (entre ellas con VBA), pero hoy toca fórmulas y así lo haremos. La táctica que seguiremos será la siguiente, por un lado extraeremos todos los números hasta el último punto y por otro, extraeremos los datos desde el último punto hasta el final.

Por partes:

Para extraer los datos hasta el último punto, vamos a utilizar esta fórmula (suponiendo que la cifra está en A2):

=EXTRAE(A2;1;(LARGO(A2)-LARGO((ESPACIOS(DERECHA(SUSTITUIR(A2;".";REPETIR(" ";"100"));100)))))-1)

Como podéis observar, mediante la diferencia entre la longitud total de la cifra y la longitud de los números decimales, podemos obtener la longitud necesaria para extraer el importe hasta el último punto.

Para extraer los decimales, es decir aquellos números después del último punto, solo tendréis que echar mano de parte de la fórmula anterior:

=ESPACIOS(DERECHA(SUSTITUIR(A2;".";REPETIR(" ";"100"));100))

Esta fórmula nos permite extraer los decimales, combinando cuatro funciones. El 100 es un dato que he puesto de forma orientativa (podría ser 50, 70, etc) siempre debe hacer referencia a la longitud de la cifra más larga.

Ahora todo es mucho más sencillo, ya tenemos los dos datos básicos, tan solo tendremos que unirlos, y poner una coma «,» entre ellos. Lo podéis hacer con la función concatenar o con el ampersand «&», particularmente a mi me gusta usar «&» siempre que puedo, es una forma de reducir la longitud de la fórmula, y esta es bastante larga, (pero efectiva):

=EXTRAE(A2;1;(LARGO(A2)-LARGO((ESPACIOS(DERECHA(SUSTITUIR(A2;".";REPETIR(" ";"100"));100)))))-1)&","&ESPACIOS(DERECHA(SUSTITUIR(A2;".";REPETIR(" ";"100"));100))

y este es el resultado después de haber aplicado la fórmula a nuestros datos:

REEMPLAZAR SEPARADOR DECIMAL1

Y con esto dejamos listo el ejercicio 🙂 y la primera entrada de 2016!!

Espero que esos formatos que a veces nos complican la vida y el trabajo, ahora ya sean algo más sencillos de controlar.

Descarga el archivo de ejemplo pulsando en: REEMPLAZAR SEPARADOR DECIMAL POR UNA COMA

 

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies