Las funciones SI y SI.CONJUNTO en Excel

De las funciones lógicas incluidas en Excel, probablemente la más usada sea la función SI. Esta permite evaluar una prueba lógica y generar un resultado de acuerdo si la prueba lógica es un valor booleano VERDADERO o FALSO.

Sintaxis

=SI(prueba lógica, valor si verdadero, [valor si falso])

El primer argumento es una prueba lógica que evalúa dos valores, referencias o expresiones mediante los siguientes operadores lógicos:

  • Igual a ( = )
  • Mayor que ( > )
  • Menor que ( < )
  • Mayor o igual a ( >= )
  • Menor o igual a ( <= )
  • Distinto a ( <> )

El resultado de dicha prueba tendrá siempre dos posibles valores: VERDADERO (1) o FALSO (0). Esto nos lleva a los siguientes dos argumentos.

Si el resultado de la prueba lógica es VERDADERO, se ejecutará el valor, expresión o referencia que hayamos incluido en el segundo argumento (valor si verdadero). En caso de ser FALSO, el tercer valor, expresión o referencia será ejecutado (valor si falso). Este tercer argumento es opcional, ya que, si es omitido, la función automáticamente devolverá el valor booleano FALSO.

Para ver lo anterior de forma práctica, en el siguiente ejemplo deseamos asignar el porcentaje de comisión correspondiente a cada vendedor. Si las ventas son mayores a $5,000 la comisión es de 5%, en caso contrario no existe comisión.

En este simple ejemplo podemos notar que la función aplica la prueba lógica que hemos establecido, logrando el objetivo de asignar la comisión sin errores.

Aparte de realizar pruebas lógicas sencillas, también podemos elaborar pruebas lógicas más complejas al anidar varias funciones SI.

Funciones SI anidadas

Las funciones SI anidadas siguen la misma sintaxis de la función SI simple. La diferencia está en que alguno de los argumentos para verdadero o falso, serán también una nueva función SI. Se pueden anidar hasta un máximo de 64 funciones, sin embargo, más adelante veremos por qué no debemos llegar a ese límite.

Si ampliamos un poco más nuestro ejemplo anterior, para incluir varios rangos de comisiones, podemos realizar la asignación al anidar tres funciones SI. Nuestros nuevos rangos son los siguientes:

De forma gráfica, la función puede estructurarse de la siguiente forma:

A continuación, veremos cómo incluir estas pruebas lógicas en nuestra función:

Es importante considerar que para lograr funciones SI anidadas robustas, debemos tener claro el proceso lógico que realizará la función. Debido a que el orden de las condiciones afecta el resultado de la función, en las primeras ocasiones que la utilicemos, es buena idea realizar un pequeño flujograma de referencia antes de insertarla en nuestra hoja. Esto nos evitará errores y correcciones futuras.

A pesar de su evidente utilidad para evaluar varias condiciones, no es recomendable abusar de esta característica, mucho menos llegar a anidar las 64 funciones posibles. La razón de esto es que las fórmulas SI anidadas con más de 3 condiciones pueden llegar a ser muy largas, difíciles de revisar y mantener.

En referencia a nuestro ejemplo, planteamientos similares también podrían resolverse de una forma más concisa y auto documentada con una función BUSCARV y un rango auxiliar.

Función SI.CONJUNTO

Excel 2016 y Office 365 incluyen una función llamada SI.CONJUNTO (en inglés sólo IFS), la cual permite incluir una sucesión de pruebas lógicas y resultados hasta un total de 127 argumentos.

Sintaxis

=SI.CONJUNTO (prueba lógica1, valor verdadero1, [prueba lógica2, valor verdadero2],... [prueba lógica127, valor verdadero127])

Las pruebas se ejecutan en el orden que se introducen, por lo tanto, el último par indica el resultado de la función en caso de que todas las pruebas lógicas anteriores hayan generado el valor booleano FALSO.

En nuestro ejemplo, la función SI.CONJUNTO quedaría como se ilustra debajo, generando el mismo resultado que las funciones SI anidadas utilizadas anteriormente.

De la misma forma que la función SI anidada, evaluar muchas condiciones en la función SI.CONJUNTO puede generar fórmulas muy largas. Aunque su edición y mantenimiento puede ser más sencillo que la función SI anidada, es una mejor práctica utilizar alternativas más concisas en casos donde se presenten más de 3 condiciones.

Como una última reflexión les comento que en muchas ocasiones he visto que se realizan consultas en foros, blogs y páginas de soporte sobre la aplicación de pruebas lógicas en Excel. Aunque es totalmente válido hacer consultas, muchas veces el usuario tiene muy claro el proceso lógico que quiere evaluar y lo plantea de forma correcta, sin embargo, parecen no estar al tanto de que pueden llevar su lógica a estas funciones. En pocas palabras, tienen la respuesta frente a sí mismos, pero no la ven.

Ahora que ya hemos visto estas funciones, cuando tengan situaciones donde Excel deba «decidir» con pruebas de tipo lógico, sólo piensen un poco cómo implementarlas con estas funciones, muchas veces es algo muy sencillo de hacer. Enfocar el problema de esa forma incrementará su comprensión de las funciones en lugar de consultar, cortar y pegar la respuesta que les sea dada.

En próximas entradas estaremos viendo más de las 41 funciones indispensables que debes dominar en Excel.

3 Comments

  1. Hola, necesito saber si existe alguna forma de poner una función lógica que me permita identificar que si dentro de un conjunto de filas, por ejemplo desde A:1 hasta A:15 aparece la palabra «claro» sume y multiplique dos columnas. Sería algo así como: Si(A1:A15=»Claro»;sumaproducto(B1:B15;C1:C15);0). Esa es la que se me ocurrió pero en sí, la primer parte (A1:A15=»Claro») no me la toma. Se puede hacer la misma cambiando algún tipo de signo o directamente se cambia la fórmula?

    Muchas gracias,
    Emilio

    Responder

    1. Hola Emilio,

      Si es posible. Entiendo que en el ejemplo que planteas, la suma y multiplicación seria sobre los ítems de las columnas B y C que coincidan con el indicador «Claro» de la columna A. Si es así, estabas muy cerca de la respuesta. Puede haber otras formas de lograr el resultado, pero para continuar con la idea de tu fórmula original yo usaría la función SUMAPRODUCTO así:

      =SUMAPRODUCTO(–($A$1:$A$15=»Claro»)*$B$1:$B$15 *$C$1:$C$15)

      La clave de esta en el resultado de la expresión –($A$1:$A$15=»Claro»). El resultado es una matriz de 1s y 0s donde el 1 representa las ocurrencias de «Claro» y el 0 representa la no ocurrencia. Al multiplicar esa matriz por las columnas restantes, solo obtendrás resultado donde existan la coincidencia con la palabra «Claro», el resto de resultados será 0. En todo caso te recomiendo que evalúes cada expresión de forma individual (selecciona la expresión dentro de la función y presiona F9) para que comprendas a cabalidad el resultado. Saludos!

      Responder

Tu comentario es importante para nosotros

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.