SI
La funció SI dona un de dos valors possibles, segons si una expressió especificada dona com a resultat un valor booleà CERT o FALS.
SI(si-expressió; si-cert; si-fals)
si-expressió: una expressió lògica. si-expressió pot tenir qualsevol contingut, sempre que l’expressió pugui ser avaluada com a valor booleà. Si l’expressió dona com a resultat un número, un 0 s’interpreta com a FALS i qualsevol altre valor es considera CERT.
si-cert: el valor resultant si si-expressió és CERT. si-cert pot contenir qualsevol valor. Si si-cert s’omet (hi ha un punt i coma, però cap valor) i si-expressió dona CERT, SI donarà 0.
si fals: un argument opcional que especifica el valor obtingut si si-expressió és FALS. si-fals pot contenir qualsevol valor. Si si-fals s’omet (hi ha un punt i coma, però cap valor) i si-expressió dona FALS, SI donarà 0. Si si-fals s’omet completament (no hi ha punt i coma després de si-cert) i si-expressió dona com a resultat FALS, SI donarà FALS.
Notes
Tant si-cert com si-fals com tots dos poden contenir funcions SI addicionals (sovint anomenades funcions SI niades).
Exemples |
---|
=SI(A5>=0; “No negatiu”; “Negatiu”) dona el text “No negatiu” si la cel·la A5 conté un número igual o superior a zero o un valor no numèric. Si la cel·la A5 conté un valor inferior a 0, la funció dona “Negatiu”. =SI(SI.ERROR(O(ÉS.PARELL(B4+B5); ÉS.SENAR(B4+B5)); FALS); “Tots són números”; “No tots són números”) dona el text “Tots són números” si les cel·les B4 i B5 contenen números; altrament, dona el text “No tots són números”. Això s’aconsegueix comprovant si la suma de les dues cel·les és parell o senar. Si la cel·la no és un número, les funcions ARROD.A.PARELL i ARROD.A.SENAR produiran un error i la funció SI.ERROR donarà FALS; altrament, donarà CERT, ja que ARROD.A.PARELL o ARROD.A.SENAR és CERT. Per tant, si B4 o B5 no és un número o un valor booleà, la sentència SI donarà l’expressió si-fals, “No tots són números”; altrament, donarà l’expressió si-cert, “Tots són números”. |
Exemples (evitar els errors de la divisió entre zero) |
---|
De vegades no es pot crear una taula de manera que es pugui evitar dividir entre zero. Tot i així, si s’esdevé alguna divisió entre zero, el resultat que dona és un valor d’error a la cel·la, que generalment no és el desitjat. Aquest exemple mostra tres maneres d’evitar aquest error. Suposem que les cel·les D2 i E2 contenen un número cadascuna. És possible que E2 contingui 0. Vols dividir D2 entre E2, però vols evitar l’error de dividir entre zero. Amb els tres mètodes següents obtindràs 0 si la cel·la E2 conté zero; altrament, el resultat serà D2/E2. =SI(E2=0; 0; D2/E2) opera comprovant directament la cel·la E2 per veure si és 0. =SI.ERROR(D2/E2; 0) opera donant 0 si hi ha un error. La divisió entre zero és un error. =SI(ÉS.ERROR(D2/E2); 0; D2/E2) opera fent una prova lògica per veure si D2/E2 és CERT. |
Exemples amb REGEX |
---|
Imagina que la cel·la A1 conté “jordi@martorell.com”. =SI(A1 = REGEX(“([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})”), "Conté una adreça de correu electrònic"; "No conté cap adreça de correu electrònic") dona "Conté una adreça de correu electrònic". |