Devuelve un valor cuando una condición es verdadera y otro cuando es falsa.
SI es la función que hace que una hoja de cálculo decida algo. Le das una pregunta de respuesta sí o no, un resultado para cuando la respuesta es sí y otro para cuando es no. ¿Este comercial ha llegado a su objetivo? ¿Esta factura está vencida? ¿Este pedido es lo bastante grande para llevar envío gratuito?
La condición es cualquier expresión que se evalúe como VERDADERO o FALSO, lo que en la práctica significa una comparación: B2>C2, A2="Norte", D2>=1000. Los dos resultados pueden ser cualquier cosa: texto, un número, una referencia de celda o incluso otra fórmula.
En ese último punto está su potencia y también su fealdad. Como un resultado puede ser otro SI, se pueden encadenar decisiones. Con tres o cuatro niveles, sin embargo, la fórmula se vuelve ilegible; ese es el momento de pasar a SI.CONJUNTO, CAMBIAR o una pequeña tabla de búsqueda.
=SI(prueba_lógica; valor_si_verdadero; valor_si_falso)prueba_lógicavalor_si_verdaderovalor_si_falsoEncabezados en la fila 1, datos en A2:C5.
| A | B | C | |
|---|---|---|---|
| 1 | Comercial | Ventas | Objetivo |
| 2 | Alicia | 1240 | 1000 |
| 3 | Bruno | 385 | 1000 |
| 4 | Chen | 2100 | 1500 |
| 5 | Dana | 940 | 0 |
=SI(B2>C2; "Cumplido"; "No cumplido")Resultado: Cumplido
Alicia vendió 1240 frente a un objetivo de 1000, así que la prueba se cumple.
=SI(B3>=C3; "Cumplido"; "No cumplido")Resultado: No cumplido
Los 385 de Bruno están por debajo de 1000, así que se ejecuta la rama falsa.
=SI(B2>C2; B2-C2; 0)Resultado: 240
Los resultados no tienen por qué ser texto. Este devuelve cuánto se ha superado el objetivo, o cero.
=SI(B2>=2000; "Oro"; SI(B2>=1000; "Plata"; "Bronce"))Resultado: Plata
Un SI anidado. El segundo SI es la rama falsa del primero, así que solo se ejecuta cuando las ventas están por debajo de 2000.
Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.
Por qué ocurre: Se omitió el tercer argumento y la prueba no se cumplió.
Cómo resolverlo: Añade un tercer argumento. Usa "" si quieres que la celda parezca vacía.
Por qué ocurre: La prueba compara tipos incompatibles, o una de las ramas hace aritmética sobre texto.
Cómo resolverlo: Comprueba que las celdas comparadas contienen el tipo de dato que esperas. Un número guardado como texto no se compara numéricamente.
Por qué ocurre: La prueba no es una comparación explícita, como =SI(A2; ...) donde A2 contiene cualquier valor distinto de cero.
Cómo resolverlo: Haz que la prueba sea una comparación explícita: =SI(A2="Norte"; ...) en lugar de =SI(A2; ...).
Por qué ocurre: Las condiciones están en el orden incorrecto, así que una más amplia captura los valores antes de llegar a la más estrecha.
Cómo resolverlo: Ordena las condiciones anidadas de la más restrictiva a la menos: comprueba >=2000 antes que >=1000, nunca al revés.
Excel permite 64 niveles, pero la legibilidad se hunde mucho antes. A partir de tres, usa SI.CONJUNTO para una lista plana de condiciones, CAMBIAR cuando compares un valor contra varias opciones, o BUSCARV sobre una pequeña tabla de tramos.
Envuélvelas en Y para «ambas deben cumplirse» o en O para «basta con una»: =SI(Y(B2>C2; A2="Norte"); "Sí"; "No"). Se lee mucho mejor que un SI dentro de otro SI.
Devuelve una cadena vacía con "". La celda parecerá vacía, aunque técnicamente contiene el resultado de una fórmula, así que ESBLANCO seguirá diciendo FALSO y CONTARA seguirá contándola.
Lecturas más largas donde esta función hace trabajo real en una hoja real.