SI
La función SI devuelve uno de dos valores posibles, dependiendo 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 la coma pero ningún valor) y si-expresión da como resultado VERDADERO, SI dará como resultado 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 la coma pero ningún valor) y si-expresión da como resultado FALSO, SI dará como resultado 0. Si si-falso se omite por completo (no hay coma después de si-verdadero) y si-expresión da como resultado FALSO, SI devolverá FALSO.
Notas
Tanto el argumento si-verdadero como si-falso, o ambos, pueden incluir otras funciones SI (a menudo denominadas funciones SI anidadas).
Ejemplos |
---|
=SI(A5>=0,"No negativo","Negativo") devuelve el texto "No negativo" si la celda A5 contiene un número superior o igual a cero o un valor no numérico. Si la celda A5 contiene un valor inferior a 0, la función devuelve "Negativo". =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 devolverán un error y la función SI.ERROR devolverá FALSO; de lo contrario, devolverá 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 devolverá la expresión si-falso, "No todos son números", de lo contrario, devolverá la expresión si-verdadero "Todos son números. |
Ejemplos: cómo evitar errores de división por cero |
---|
A veces no es posible construir una tabla de forma que se puedan evitar las divisiones por cero. Sin embargo, si se produce la división por cero, 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 cero. Los tres siguientes métodos devolverán 0 si E2 es igual a 0; en caso contrario, devolverán el resultado de D2/E2. =SI(E2=0,0,D2/E2) funciona revisando 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 cero es un error. =SI(ESERROR(D2/E2),0,D2/E2) funciona haciendo una revisión lógica para ver si D2/E2 es VERDADERO. |
Ejemplo que usa REGEX |
---|
Digamos que A1 contiene "juan@pérez.com" =SI(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"), "Contiene correo", "No hay correo") devuelve "Contiene correo". |