Menu

Función SI en Excel: fórmula, ejemplos y errores comunes

=SI(B2>=50;"Pass";"Fail") comprueba si B2 es 50 o más y devuelve Pass si lo es y Fail si no. Aprende la sintaxis de SI, SI con texto, SI con un cálculo, SI una celda está vacía y los errores que hacen que SI dé un resultado equivocado.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=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").

Aprobado o suspenso
C2
ABC
1StudentScoreResult
2Ana72Pass
3Ben45Fail
4Chloe50Pass
5Dan38Fail
6Eve91Pass
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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.

Envío gratis para la región North
C2
ABCD
1OrderRegionFree deliveryExact case
21001NorthYesYes
31002SouthNoNo
41003northYesNo
51004EastNoNo
61005NORTHYesNo
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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:

Bono por encima de 1000
C2
ABC
1RepSalesBonus
2Ana$1,400$70
3Ben$800$0
4Chloe$1,000$0
5Dan$2,600$130
6Eve$1,150$58
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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:

Saltar las filas sin cantidad
D2
ABCDE
1ItemQtyPriceTotalStatus
2Pens10$1.50$15.00Ordered
3Paper$4.20Not ordered
4Ink2$18.00$36.00Ordered
5Tape$2.80Not ordered
6Clips5$0.90$4.50Ordered
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =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

Control de reposición
D2
ABCD
1ItemStockMinimumStatus
2Pens1220
3Paper3025
4Tape1512
5Ink810
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

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.

Un bono del 10%
C2
ABC
1RepSalesBonus
2Ana$1,250
3Ben$600
4Chloe$2,300
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

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.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR