=SI(B2>=50;"Pass";"Fail") comprueba si la nota de B2 es 50 o más. Si lo es, la celda muestra Pass; si no, muestra Fail. La función SI se llama IF en inglés, y la tabla muestra la fórmula en inglés: =IF(B2>=50,"Pass","Fail").
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Result |
| 2 | Ana | 72 | Pass |
| 3 | Ben | 45 | Fail |
| 4 | Chloe | 50 | Pass |
| 5 | Dan | 38 | Fail |
| 6 | Eve | 91 | Pass |
=SI(B2>=50;"Pass";"Fail")Haz clic en C2 para ver la fórmula y luego cambia la nota de Ben en B3 a 60: su resultado pasa a Pass. Chloe tiene exactamente 50, y >= significa "50 o más", así que aprueba. Con > suspendería.
Sintaxis de SI
=IF(logical_test, value_if_true, value_if_false)
logical_test(prueba_lógica) es cualquier comparación o fórmula que dé VERDADERO o FALSO:B2>=50,C2="Paid",D2<HOY().value_if_true(valor_si_verdadero) es lo que muestra la celda cuando la prueba es VERDADERO.value_if_false(valor_si_falso) es lo que muestra en caso contrario. Es opcional: si lo omites, la celda muestra FALSO cuando la prueba no se cumple. Si dejas el separador pero el argumento vacío,=SI(B2>=50;"Pass";), muestra 0.
Cada resultado puede ser texto entre comillas dobles ("Pass"), un número (0), una referencia de celda (C2) u otra fórmula. El texto sin comillas se lee como un nombre, así que =SI(B2>=50;Pass;Fail) da #¿NOMBRE? (#NAME? en inglés; la tabla muestra los nombres de error en inglés).
Los operadores de comparación son = (igual), <> (distinto), >, <, >= y <=. En Excel en español los argumentos se separan con punto y coma, =SI(B2>=50;"Pass";"Fail") (con la configuración regional de México, con comas), y la tabla acepta las dos formas. Google Sheets usa la misma función SI con los mismos argumentos.
SI con texto
Una prueba puede comparar una celda con un texto. El texto va entre comillas dobles, y la comparación no distingue mayúsculas de minúsculas.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Free delivery | Exact case |
| 2 | 1001 | North | Yes | Yes |
| 3 | 1002 | South | No | No |
| 4 | 1003 | north | Yes | No |
| 5 | 1004 | East | No | No |
| 6 | 1005 | NORTH | Yes | No |
=SI(B2="North";"Yes";"No")La columna C dice Yes para North, north y NORTH, porque = no se fija en las mayúsculas. Cuando las mayúsculas importan (códigos de producto, contraseñas), haz la prueba con IGUAL (EXACT en inglés), como en la columna D: solo la fila que dice exactamente North recibe Yes.
Para comprobar cualquier valor excepto uno, usa <>: =SI(B2<>"North";"Standard";"Free"). Para comprobar si una celda contiene una palabra en algún lugar, SI necesita HALLAR (SEARCH en inglés), que se explica en la página de las funciones ES.
SI con un cálculo
Los resultados de SI no tienen por qué ser texto. Aquí cada vendedor gana un bono del 5% sobre ventas de más de 1000, y nada por debajo:
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,400 | $70 |
| 3 | Ben | $800 | $0 |
| 4 | Chloe | $1,000 | $0 |
| 5 | Dan | $2,600 | $130 |
| 6 | Eve | $1,150 | $58 |
=SI(B2>1000;B2*5%;0)Ana recibe $70 (el 5% de 1400) y Ben $0. Chloe vendió exactamente 1000, y la prueba es "mayor que 1000", así que también recibe $0. Cambia la fórmula de C2 a =SI(B2>=1000;B2*5%;0) y su bono pasa a $50.
La prueba también puede comparar dos celdas, =SI(B2>C2;"Over target";"Under target"), o una celda con un cálculo, =SI(B2>PROMEDIO($B$2:$B$6);"Above average";"").
SI una celda está vacía
B2="" es VERDADERO cuando B2 está vacía. Úsalo para saltar las filas que aún no tienen datos, y así la columna de fórmulas no se llena de ceros:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Total | Status |
| 2 | Pens | 10 | $1.50 | $15.00 | Ordered |
| 3 | Paper | $4.20 | Not ordered | ||
| 4 | Ink | 2 | $18.00 | $36.00 | Ordered |
| 5 | Tape | $2.80 | Not ordered | ||
| 6 | Clips | 5 | $0.90 | $4.50 | Ordered |
=SI(B2="";"";B2*C2)"" (dos comillas dobles sin nada entre ellas) es texto vacío, así que Paper y Tape no muestran nada en la columna D. Escribe una cantidad en B3 y aparece el total. La columna E comprueba lo contrario con <>"", "no está vacía".
Una celda con ="" parece vacía, pero para ESBLANCO no lo está. La diferencia importa cuando otras fórmulas leen la columna; por ejemplo, CONTARA la cuenta.
SI con dos condiciones
SI admite una sola prueba. Para exigir dos cosas a la vez, pon Y (AND en inglés) dentro de la prueba; para aceptar cualquiera de las dos, usa O (OR en inglés):
=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")
En Excel en español: =SI(Y(B2>=50;C2>=50);"Pass";"Fail") y =SI(O(B2="North";B2="South");"Zone 1";"Zone 2"). Las dos se explican con ejemplos en vivo en la página de Y y O. Para tres o más resultados posibles (A, B, C, F), anida un SI dentro de otro (SI anidado) o usa SI.CONJUNTO.
Práctica: pedir o no
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Stock | Minimum | Status |
| 2 | Pens | 12 | 20 | |
| 3 | Paper | 30 | 25 | |
| 4 | Tape | 15 | 12 | |
| 5 | Ink | 8 | 10 |
Tu turno: En D2, muestra "Reorder" cuando el stock de B2 esté por debajo del mínimo de C2; si no, muestra "OK". La fórmula se copia hasta D5.
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,250 | |
| 3 | Ben | $600 | |
| 4 | Chloe | $2,300 |
Tu turno: En C2, devuelve un bono del 10% de las ventas de B2 cuando las ventas sean mayores que 1000, y 0 en caso contrario. La fórmula se copia hasta C4.
Errores comunes con SI
Comillas alrededor de un número. =SI(B2>"50";"High";"Low") compara B2 con el texto "50", no con el número 50. Excel coloca cualquier número por debajo de cualquier texto, así que la prueba es FALSO para cualquier número de B2 y la fórmula siempre dice Low. Escribe los números sin comillas: B2>50.
Usar ==. La prueba de igualdad de Excel es un solo =. Si escribes =SI(B2=="Paid";"Yes";"No"), Excel rechaza la fórmula con "Hay un problema con esta fórmula".
Números guardados como texto. Si B2 contiene '12 (texto que parece un número, a menudo de una importación), B2>=50 compara un texto con un número. El texto siempre cuenta como mayor, así que la prueba es VERDADERO y 12 aprueba. Convierte antes la columna; la página de texto a número muestra cómo.
Esperar VERDADERO como texto. =SI(B2>=50;"VERDADERO";"FALSO") devuelve las palabras como texto, que otras fórmulas no pueden usar como valores lógicos. Si quieres VERDADERO y FALSO, no necesitas SI: =B2>=50 los devuelve directamente.
Olvidar los paréntesis de cierre. Cada SI abre un paréntesis y necesita su propio ). Mientras editas, Excel muestra cada par de paréntesis en su propio color, lo que facilita ver el que falta.
Preguntas frecuentes
¿Cómo escribo una fórmula SI entonces en Excel?
Escribe =SI(prueba;valor_si_verdadero;valor_si_falso). Por ejemplo =SI(B2>=50;"Pass";"Fail") muestra Pass cuando B2 es 50 o más y Fail en caso contrario. Los resultados de texto van entre comillas dobles; los números y las referencias de celda, no.
¿Por qué mi fórmula SI devuelve FALSO?
Omitiste el tercer argumento. =SI(B2>=50;"Pass") devuelve FALSO cuando la prueba no se cumple. Añade un valor para ese caso, por ejemplo "" para mostrar una celda vacía: =SI(B2>=50;"Pass";"").
¿La función SI distingue mayúsculas y minúsculas?
No. =SI(B2="North";"Yes";"No") devuelve Yes para North, north y NORTH. Para exigir las mismas mayúsculas, usa IGUAL como prueba: =SI(IGUAL(B2;"North");"Yes";"No").
¿Cómo hago que SI deje una celda en blanco?
Devuelve una cadena de texto vacía, dos comillas dobles: =SI(B2="";"";B2*C2) no muestra nada cuando B2 está vacía y el producto en los demás casos. La celda sigue conteniendo una fórmula, así que ESBLANCO sobre ella devuelve FALSO.
¿SI puede comprobar más de una condición?
Sí. Pon Y u O dentro de la prueba, =SI(Y(B2>=50;C2>=50);"Pass";"Fail"), o anida un SI dentro de otro para más de dos resultados. En Excel 2019 y posteriores, SI.CONJUNTO maneja varios resultados sin anidar.