Función SI: Fórmulas anidadas y cómo evitar problemas

Se aplica a
Excel para Microsoft 365 Excel para Microsoft 365 para Mac Excel 2024 Excel 2024 para Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2016 Aplicación web de Excel Excel para Windows Phone 10

La función SI le permite realizar una comparación lógica entre un valor y el resultado que espera probando una condición y devolviendo un resultado si es Verdadero o Falso.

  • =SI(Algo es Verdadero, hacer algo; de lo contrario hacer algo diferente)

Por esto, una instrucción SI puede tener dos resultados. El primer resultado es si la comparación es Verdadera y el segundo si la comparación es Falsa.

Las instrucciones SI son extremadamente sólidas y forman la base de muchos modelos de hoja de cálculo, pero también son la causa principal de muchos de los problemas en las hojas de cálculo. Lo ideal es que una instrucción SI se aplique a condiciones mínimas, como Hombre/Mujer, Sí/No/Quizás, por nombrar algunos ejemplos, pero a veces es posible que deba evaluar escenarios más complejos que requieren el anidamiento* de más de 3 funciones SI juntas.

* "Anidamiento" hace referencia a la práctica de unir varias funciones en una fórmula.

Detalles técnicos

Use la función SI, una de las funciones lógicas, para devolver un valor si una condición es verdadera y otro si es falsa.

Sintaxis

SI(prueba_lógica; valor_si_verdadero; [valor_si_falso])

Por ejemplo:

  • =SI(A2>B2;"Presupuesto excedido";"Correcto")
  • =SI(A2=B2,B4-A4,"")
Nombre del argumento Descripción
prueba_lógica
(obligatorio)
El valor que quiere probar.
valor_si_verdadero
(obligatorio)
El valor que desea devuelto si el resultado de logical_test es VERDADERO.
valor_si_falso
(opcional)
El valor que desea devuelto si el resultado de logical_test es FALSO.

Observaciones

Aunque Excel le permitirá anidar hasta 64 funciones SI diferentes, no es nada recomendable hacerlo. ¿Por qué?

  • El uso de varias instrucciones SI requiere una cuidada planificación para crearlas correctamente y asegurarse de que su lógica puede calcular sin errores cada una de las condiciones hasta llegar al final. Si no anida la fórmula con una precisión al 100 %, puede funcionar el 75 % de las veces, pero devolver resultados inesperados el 25 % de las veces. Lamentablemente, las probabilidades de detectar ese 25 % de casos son muy escasas.
  • El mantenimiento de varias instrucciones SI puede resultar muy difícil, especialmente si pasado un tiempo intenta averiguar lo que usted o, peor todavía, otra persona, estaba intentando hacer.

Si se encuentra con una declaración SI que parece seguir creciendo sin un final a la vista, es hora de dejar el mouse y repensar su estrategia.

Veamos cómo crear correctamente una instrucción SI anidada compleja con varios SI y cuándo reconocer que es el momento de usar otra herramienta en su arsenal de Excel.

Ejemplos

A continuación encontrará un ejemplo de una instrucción SI anidada relativamente estándar para convertir resultados de exámenes en su equivalente de la calificación mediante letras.

Instrucción SI anidada compleja: la fórmula en E2 es =SI(B2>97,A+,SI(B2>93,A,SI(B2>89,A-,SI(B2>87,B+,SI(B2>83,B-,SI(B2>79,B-,SI(B2>77,C+,SI(B2 73,C,SI(B2>69,C-,SI(B2>>57,D+,SI(B2 53,D,SI(B2>>49,D-, F))))))))))))

  • =SI(D2>89,"A",SI(D2>79,"B",SI(D2>69,"C",SI(D2>59,"D","F"))))
    Este instrucción SI anidada compleja sigue una lógica sencilla:
  1. Si el resultado (en la celda D2) es mayor que 89, la calificación es A
  2. Si el resultado es mayor que 79, la calificación es B
  3. Si el resultado es mayor que 69, la calificación es C
  4. Si el resultado es mayor que 59, la calificación es D
  5. En caso contrario, la calificación es F

Este ejemplo en particular es relativamente seguro porque no es probable que cambie la correlación entre los puntajes de las pruebas y las calificaciones con letras, por lo que no requerirá mucho mantenimiento. Pero aquí hay una idea: ¿qué pasa si necesita segmentar las calificaciones entre A +, A y A- (y así sucesivamente)? En ese caso, es necesario volver a escribir la instrucción SI con cuatro condiciones para que pase a tener 12. Este es el aspecto que tendría la fórmula ahora:

  • =SI(B2>97,"A+",SI(B2>93,"A",SI(B2>89,"A-",SI(B2 87,"B+>",SI(B2>83,"B",SI(B2>79,"B-", SI(B2>77,"C+",SI(B2>73,"C",SI(B2>69,"C-",SI(B2>57,"D+",SI(B2>53,"D",SI(B2>49,"D-","F"))))))))))))

Sigue siendo funcionalmente preciso y funcionará según lo previsto, pero lleva mucho tiempo escribirlo y probarlo para asegurarse de que hace lo que quiere. Otro problema evidente es que ha tenido que ingresar los puntajes y las calificaciones de letras equivalentes a mano. ¿Qué probabilidades hay de que accidentalmente tenga un error tipográfico? Imagine ahora que intenta hacer esto 64 veces con condiciones más complejas. Claro, es posible, pero ¿realmente quieres someterte a este tipo de esfuerzo y probables errores que serán realmente difíciles de detectar?

Recomendación

Todas las funciones de Excel requieren paréntesis de apertura y cierre (). Excel intentará ayudarle a descubrir qué va a dónde coloreando diferentes partes de la fórmula cuando la esté editando. Por ejemplo, si editara la fórmula anterior, al mover el cursor más allá de cada uno de los paréntesis de cierre ")", su paréntesis de apertura correspondiente cambiaría del mismo color. Esto puede ser especialmente útil en fórmulas anidadas complejas cuando intenta averiguar si tiene suficientes paréntesis coincidentes.

Ejemplos adicionales

A continuación encontrará un ejemplo muy común sobre cómo calcular la Comisión de ventas basándose en los niveles de Ingresos obtenidos.

La fórmula de la celda D9 es SI(C9>15000,20%,SI(C9>12500,17,5%;SI(C9>10000,15%;SI(C9>7500,12,5%;SI(C9>5000,10%,0)))))

  • =SI(C9 15000,20%,SI(C9 12500,17,5%,SI(C9>10000,15%,SI(C9>7500,12,5%;SI(C9>5000,10%,0)))))>>

Esta fórmula indica que SI(C9 es mayor de 15.000, debe devolver un 20 %, SI(C9 es mayor de 12.500, debe devolver un 17, 5%, y así sucesivamente...

Si bien es notablemente similar al ejemplo anterior de Calificaciones, esta fórmula es un gran ejemplo de lo difícil que puede ser mantener grandes declaraciones SI: ¿qué tendría que hacer si su organización decidiera agregar nuevos niveles de compensación y posiblemente incluso cambiar los valores existentes en dólares o porcentajes? ¡Tendrías mucho trabajo en tus manos!

Recomendación

Puede insertar saltos de línea en la barra de fórmulas para facilitar la lectura de las fórmulas largas. Solo tiene que pulsar Alt+ENTRAR antes del texto que desea ajustar a una nueva línea.

Aquí tiene un ejemplo del escenario de comisión con una lógica extraña:

La fórmula en D9 está desordenada como =SI(C9>5000,10%,SI(C9>7500,12,5%;SI(C9>10000,15%,SI(C9>12500,17,5%;SI(C9>15000,20%,0))))) ¿Puede ver qué sucede? Compare el orden de las Comparaciones de ingresos en el ejemplo anterior. ¿Qué orden sigue este? Así es, va de abajo hacia arriba ($ 5,000 a $ 15,000), no al revés. Pero, ¿por qué es tan importante el orden? Es un gran problema porque la fórmula no puede pasar la primera evaluación por ningún valor superior a $ 5,000. Digamos que tiene $ 12,500 en ingresos: la declaración IF devolverá un 10% porque es mayor que $ 5,000 y se detendrá allí. Esto puede ser increíblemente problemático porque en muchas situaciones este tipo de errores pasan desapercibidos hasta que han tenido un impacto negativo. Por lo tanto, sabiendo que hay algunas dificultades graves con las instrucciones SI anidadas complejas, ¿qué puede hacer? En la mayoría de los casos, puede usar la función BUSCARV en lugar de crear una fórmula compleja con la función SI. Cuando usa BUSCARV, tiene que crear primero una tabla de referencia:

La fórmula de la celda D2 es =BUSCARV(C2;C5:D17;2;VERDADERO)

  • =BUSCARV(C2,C5:D17,2,VERDADERO)

Esta fórmula indica que debe buscarse el valor de C2 en el rango C5:C17. Si se encuentra el valor, devuelve el valor correspondiente de la misma fila en la columna D.

La fórmula de la celda C9 es =BUSCARV(B9;B2:C6;2;VERDADERO)

  • =BUSCARV(B9,B2:C6,2,VERDADERO)

De forma similar, esta fórmula busca el valor de la celda B9 en el rango B2:B22. Si se encuentra el valor, devuelve el valor correspondiente de la misma fila en la columna C.

Nota

Ambas funciones BUSCARV usan el argumento VERDADERO al final de las fórmulas, lo que significa que se está buscando una coincidencia aproximada. Es decir, hará coincidir valores exactos en la tabla de búsqueda, así como los valores comprendidos entre ellos. En este caso, las tablas de búsqueda deben ordenarse en forma ascendente, de menor a mayor.

BUSCARV se trata con mucho más detalle aquí, pero esto es sin duda mucho más sencillo que una instrucción SI anidada compleja de 12 niveles. También hay otras ventajas menos obvias:

  • Las tablas de referencia de BUSCARV están a simple vista.
  • Los valores de tabla se pueden actualizar fácilmente y nunca tendrá que tocar la fórmula si las condiciones cambian.
  • Si no desea que los usuarios vean o interfieran en la tabla de referencia, póngalo en otra hoja de cálculo.

¿Sabía que...?

Ahora hay una función SI.CONJUNTO que puede reemplazar varias instrucciones SI anidadas por una sola función. Por lo tanto, en lugar de nuestro ejemplo de calificaciones inicial, que tiene cuatro funciones SI anidadas:

  • =SI(D2>89,"A",SI(D2>79,"B",SI(D2>69,"C",SI(D2>59,"D","F"))))

Se puede crear una fórmula mucho más sencilla con una sola función SI.CONJUNTO:

  • =SI.CONJUNTO(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",VERDADERO,"F")

La función SI.CONJUNTO es excelente porque no tiene que preocuparse por todas esas instrucciones SI y paréntesis.

Nota

Esta característica solo está disponible si tiene una suscripción a Microsoft 365. Si es suscriptor de Microsoft 365, asegúrese de tener la versión más reciente de Office.

¿Necesitas más ayuda?

Siempre puede preguntar a un experto en Excel Tech Community u obtener soporte técnico en Comunidades.