Fórmula para Cambiar Signo Negativo de Posición


Hay ciertos programas contables como por ejemplo SAP, que al exportar datos, los negativos los deja con el signo a la derecha, sobra decir que esos negativos no son tomados como valores negativos por Excel y al intentar hacer cálculos nos devuelve error.

Para ello les presento una fórmula creada por anidación de varias funciones, que nos permitirá solucionar este problema. Esta es la fórmula:

=SI(ESERROR(ENCONTRAR("-",A1,1))=FALSO,IZQUIERDA(A1,LARGO(A1)-1)*-1,A1)

Explicación:

Pudiera verse díficil, pero es bastante sencilla de construir, se asume que el valor está en A1 y la fórmula la escribimos en B1, empecemos:

Cuando construimos una fórmula compuesta por varias funciones es mejor iniciar por las que irán dentro:

1. Lo primero es saber que gráficamente lo que diferencia un negativo de un positivo es el signo "-".

2. Para saber si el valor contiene el signo "-" utilizamos: ENCONTRAR("-",A1,1) que lo que hace es buscar "-" en A1 desde el primer carácter y devuelve la posición en donde se encuentra lo que buscamos.

3. Si "-" no se encuentra en el texto la función ENCONTRAR devuelve error. Entonces utilizamos la función ESERROR que lo que hace es evaluar si la función da error y devuelve VERDADERO de lo contrario devuelve FALSO.

4. Entonces evualuamos de la siguiente manera: ESERROR(ENCONTRAR("-",A1,1))

5. Lo anterior significa que si el número es positivo la función devolverá VERDADERO y si es negativo (con el signo a la derecha) devolverá FALSO

6. Si el número es negativo basicamente lo que necesitamos es cambiar de lado el signo.

7. Primero averiguamos cuántos digitos tiene el número, excluído el signo "-", para ello escribimos LARGO(A1)-1, por ejemplo si el número es "25-" esto nos devolverá 2.

8. Para extraer la cantidad de dígitos del punto anterior, utilizamos la función IZQUIERDA que devuelve la cantidad de caracteres que se le indique desde la izquierda, y lo multiplicamos por "-1" para que se convierta en un negativo, para ello escribimos IZQUIERDA(A1,LARGO(A1)-1)*-1

9. Todo lo anterior lo colocamos dentro de una condicional SI, que evaluará si el número es negativo para efectuar las funciones, sino simplemente devolverá el mismo número.

10. La fórmula completa:

=SI(ESERROR(ENCONTRAR("-",A1,1))=FALSO,IZQUIERDA(A1,LARGO(A1)-1)*-1,A1)

Se lee así:

Si el texto de A1, contiene "-" entonces que devuelva el total de dígitos menos 1 desde la izquierda y lo multiplique por "-1" para convertirlo en un negativo legible por Excel, sino quiere decir que el número es positivo y puede traer el mismo valor de A1.

Espero que la información sea de utilidad.

Saludos...



Artículos Relacionados



1 comentarios:

Anónimo dijo...

Excelente ayuda, solo que tuve que sustituir la "," por ";" en la formula y salio perfecto, mil gracias.

Publicar un comentario