¿Alguna vez
te has mareado anidando funciones SI para tratar de cubrir todos los resultados
posibles de una expresión? Si tienes algún tiempo usando Excel, apuesto que sí.
A mi me ha pasado. Hoy te quiero presentar la función que introdujo Microsoft a
partir de Excel 2019 para cambiar esto (valga la redundancia): la función
CAMBIAR. Apuesto que te resultará de utilidad.
La función
SI evalúa una expresión lógica para determinar la salida. Una expresión es una
función lógica que puede arrojar dos resultados posibles: verdadero (cuando la
condición se cumple), o falso (cuando no se cumple). Hay varias formas en las
que podemos construirlas:
- Comparar
si el texto en la celda A1 es igual a “Casa”: A1=”Casa”
- Comparar
si 4 es menor que 5: 4<5
- Comparar
si el valor de la celda A5 es mayor que 10: A5>=10
- Comparar
si el valor de la celda C22 es mayor o igual que el de la celda B1: C22>=B1
La función
SI necesita de manera obligatoria una condición lógica, y puedes indicarle qué
hacer cuando el resultado de la expresión es verdadero, y qué hacer cuando es
falso.
El problema
ocurre cuando quieres seguir verificando la expresión: si la primera expresión
no se cumple, comprobar la segunda, si esta no se cumple, la tercera, y así
sucesivamente. Esto conduce al anidamiento de funciones (que es encerrarlas una
dentro de otra).
La función
CAMBIAR toma un valor y lo convierte en otro, buscando en una serie de condiciones
que pueden cumplirse o no, determinando el resultado. Tiene capacidad para
almacenar gran cantidad de posibles condiciones, y no recurre al anidamiento.
Veamos el
siguiente ejemplo, en el que nos interesa convertir el código de un ticket a su
correspondiente categoría, de acuerdo a la siguiente tabla de conversión:
Utilizando
la función SI, podríamos hacerlo de la siguiente forma:
=SI(A1="A";"Primera
Clase";SI(A1="B";"Clase Turista";SI(A1="C";"Clase
Económica";SI(A1="D";"Low Cost";"Error"))))
Utilizando
la función CAMBIAR, la estructura de la función cambia por:
=CAMBIAR(A1;"A";"Primera
Clase";"B";"Clase Turista";"C";"Clase
Económica";"D";"Low Cost";"Error")
Esta
segunda forma es un poco más breve, y a la vez más sencilla de entender, por lo que presenta menos oportunidades (riesgos) de cometer errores.
Lo que hace
la función CAMBIAR es verificar el primer argumento, con cada uno de los
argumentos pares (es decir, el segundo, el cuarto, el sexto, etc.). Si detecta
una coincidencia en alguno de ellos, pasa al argumento que se encuentra
inmediatamente a continuación, devolviendo el resultado esperado.
Veamos el
caso en que queremos evaluar una condición lógica. En este caso, la "coincidencia"
que queremos hallar es VERDADERO, y deberemos armar a continuación un conjunto de expresiones lógicas, de las cuales se convierta en VERDADERO solo una cada vez. La
operación lógica que devuelva este resultado nos entregará la salida correcta. CAMBIAR evaluará una a una varias condiciones lógicas, hasta hallar
una que devuelva el mismo resultado que estamos esperando.
Para ello,
consideremos la siguiente tabla de calificaciones:
Nuevamente,
con la función SI, tendríamos que anidar:
=SI(A1>90;"Sobresaliente";SI(A1>80;"Excelente";SI(A1>70;"Muy
bien";SI(A1>59;"Bien";"Desaprobado"))))
En esta oportunidad,
la función CAMBIAR queda casi tan extensa como la alternativa:
=CAMBIAR(VERDADERO;A1>90;"Sobresaliente";A1>80;"Excelente";A1>70;"Muy
bien";A1>=60;"Bien";"Desaprobado")
Pero en
este caso nos hemos evitado anidar funciones, y se trata en general de una
alternativa más legible.
Ahora tienes una herramienta más a tu disposición. Si al leer este artículo has sentido que esta fórmula tiene más sentido para ti anidar funciones SI(), ¡puede ser un buen momento para ponerla a prueba!