SI
La función SI devuelve uno de dos valores posibles, en función de si una expresión especificada da como resultado un valor booleano VERDADERO o FALSO.
SI(si-expresión; si-verdadero; si-falso)
si-expresión: una expresión lógica. si-expresión puede contener cualquier cosa siempre que la expresión pueda ser evaluada como un valor booleano. Si la expresión da como resultado un número, un valor igual a 0 se interpreta como FALSO y cualquier otro valor se interpreta como VERDADERO.
si-verdadero: el valor devuelto si si-expresión es VERDADERO. si-verdadero puede incluir cualquier valor. Si se omite si-verdadero (se incluye el punto y coma pero ningún valor) y si-expresión da como resultado VERDADERO, SI devuelve 0.
si falso: un argumento opcional que especifica el valor devuelto si si-expresión da como resultado FALSO. si-falso puede incluir cualquier valor. Si se omite si-falso (se incluye el punto y coma pero ningún valor) y si-expresión da como resultado FALSO, SI devuelve 0. Si si-falso se omite por completo (no hay punto y coma después de si-verdadero) y si-expresión da como resultado FALSO, SI devuelve FALSO.
Notas
Tanto el argumento si-verdadero como si-falso, o ambos, pueden incluir otras funciones SI (a menudo denominadas funciones SI anidadas).
Usar SI para hacer comparaciones sencillas |
---|
La siguiente tabla muestra una forma sencilla de llevar notas de estudiantes. |
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | Alumno | Puntuación en examen 1 | Puntuación en examen 2 | Puntuación final | Calificación | Resultado final |
2 | 1 | 56 | 59 | 59 | F | Suspenso |
3 | 2 | 75 | 84 | 84 | B | Aprobado |
4 | 3 | 100 | 93 | 100 | A | Aprobado |
Puedes hacer una sencilla comparación SI con estos datos. A continuación, se indican varias formas de usar la función SI: |
Devolver un valor de texto basado en criterios: En esta fórmula, se usan los siguientes argumentos:
Esta fórmula asigna un resultado “Aprobado” si el alumno 1 obtiene una puntuación de 60 o más; de lo contrario, se devuelve “Suspenso”. |
Devolver un valor numérico basado en criterios: En esta fórmula, se usan los siguientes argumentos:
Esta fórmula calcula una puntuación final como la mayor de dos puntuaciones y se puede modificar fácilmente para cualquier otro alumno de la tabla modificando las referencias a celdas de forma que coincidan con las puntuaciones del alumno en cuestión. |
Usar una función SI anidada para trabajar con más condiciones: La fórmula anterior asigna un resultado “Aprobado” si al menos una de las puntuaciones del alumno es igual o superior a 60. La fórmula anterior asigna una calificación en función de la puntuación final del alumno. Nota: Con funciones SI anidadas, el orden de la comparación es importante porque la fórmula se detiene después de la primera sentencia verdadera. Por ejemplo, si quieres añadir la condición “no presentado” a la fórmula de calificaciones cuando un alumno tiene una puntuación de 0, debes hacerlo como la primera condición. Si lo haces al final, se devuelve “F” incluso si la puntuación es 0, porque ya se habrá evaluado como menor que 60. Este también es el motivo por el que no se necesita una si-expresión específica para la calificación “A”; si la puntuación de un alumno no es “B” ni cualquier otra calificación, tendrá que ser “A”. |
Probarlo |
---|
Para ver la función SI usada en una hoja de cálculo de Numbers, crea una hoja de cálculo nueva con la plantilla “Libro de calificaciones”. Elimina un nombre en la tabla “Visión de conjunto de la clase” y observa cómo cambia el valor en la columna “Nota final”. Explora la función usada en la columna “Nota final”. |
Usar SI con otras funciones |
---|
La siguiente fórmula funciona con ES.BLANCO para determinar si una celda está en blanco. En esta fórmula, se usan los siguientes argumentos:
Si quieres hacer pruebas más complejas, también puedes combinar SI con Y, O y NO. |
Ir más lejos con SI.CONJUNTO |
---|
La función SI.CONJUNTO se puede usar para evaluar una serie de expresiones y devolver un valor basado en la primera condición que sea verdadera, reemplazando múltiples sentencias SI anidadas. |
Ejemplos adicionales |
---|
=SI(A5>=0;"No negativo";"Negativo") devuelve el texto “No negativo” si la celda A5 contiene un número superior o igual a 0 o un valor no numérico. Si la celda A5 contiene un valor inferior a 0, la función devuelve “Negativo”. =SI(A5<>0; "No cero"; "Cero") devuelve el texto “No cero” si la celda A5 contiene un número distinto a 0. Si la celda A5 contiene un valor 0, la función devuelve “Cero”. =SI(SI.ERROR(O(ES.PAR(B4+B5); ES.IMPAR(B4+B5)); FALSO); “Todos son números”; “No todos son números”) devuelve el texto “Todos son números” si las celdas B4 y B5 contienen números; de lo contrario, devuelve el texto “No todos son números”. Para ello, se realizan pruebas con objeto de ver si la suma de las dos celdas es par o impar. Si la celda no es un número, las funciones PAR y IMPAR devuelve un error y la función SI.ERROR devuelve FALSO; de lo contrario, devuelve VERDADERO, puesto que PAR o IMPAR es VERDADERO. Por lo tanto, si B4 o B5 no es un número o un valor booleano, la sentencia SI devuelve la expresión si-falso, “No todos son números”; de lo contrario, devuelve la expresión si-verdadero “Todos son números”. |
Ejemplos: Cómo evitar errores de división por 0 |
---|
A veces no es posible construir una tabla de forma que se puedan evitar las divisiones por 0. Sin embargo, si se produce la división por 0, el resultado es un valor erróneo en la celda, lo que no suele ser el resultado deseado. Este ejemplo muestra tres métodos para evitar este error. Supongamos que la celda D2 y la E2 contienen un número cada una. Es posible que E2 contenga 0. Se quiere dividir D2 por E2, pero evitar el error de división por 0. Los tres siguientes métodos devuelven 0 si E2 es igual a 0; en caso contrario, devuelven el resultado de D2/E2. =SI(E2=0;0;D2/E2) funciona comprobando directamente la celda E2 para ver si es 0. =SI.ERROR(D2/E2;0) funciona devolviendo un 0 si se produce un error. La división por 0 es un error. =SI(ES.ERROR(D2/E2);0;D2/E2) funciona haciendo una comprobación lógica para ver si D2/E2 es VERDADERO. |
Ejemplo utilizando REGEX |
---|
Supongamos que A1 contiene "marina@example.com" =SI(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"); "Contiene una dirección de correo"; "No es una dirección de correo") devuelve “Contiene una dirección de correo”. |