3. Configuración: Cálculo con fórmula

3.2. Condicionales

Imagina que en tu asignatura es necesario haber aprobado un trabajo o superado un examen para alcanzar una nota final.

Hasta ahora, esto suponía realizar una serie de engorrosos cálculos cuyo resultado no siempre resultaba satisfactorio. Sin embargo, ahora contamos con los operadores condicionales que nos facilitarán mucho esta tarea. Son IF, AND y OR.

Veamos estos ejemplos.

1) La nota total del curso es la media simple de dos ítems, trabajo y examen, con una nota máxima de 10. La fórmula sería:

= ([[trabajo]] + [[examen]]) / 2

Pero, el trabajo suma 0 a la media si no está aprobado. Lo que resultaría:

= (IF([[trabajo]] < 5; 0; [[trabajo]]) + [[examen]]) / 2

¿Esto qué significa?

El operador IF se construye de esta manera, en tres pasos separados por punto y coma (;): condición, valor si se cumple la condición, valor si no se cumple.

Si lo trasladamos a nuestro caso, lo que vemos es lo siguiente:

  1. [[trabajo]] < 5 : impone la condición de si la nota del trabajo es inferior a 5
  2. 0 : si la condición se cumple (es menor que 5), asigna el valor 0 al trabajo
  3. [[trabajo]] : si la condición no se cumple (no es menor que 5), mantiene el valor del trabajo

2) La nota total del curso es, como antes, la media simple de dos ítems, trabajo y examen, pero la nota final del curso será 0 si cualquiera de los dos ítems (trabajo o examen) está suspendido:

= IF(OR([[Trabajo]] < 5; [[Examen]] < 5); 0; ([[Trabajo]] + [[Examen]] / 2))

El operador OR compara varias condiciones, dando un valor positivo si se cumple cualquiera de ellas. Pueden ser dos o más condiciones.

Veamos nuestro caso:

Tenemos, al igual que antes, un IF, que evalúa el contenido del primer elemento para devolver un resultado u otro dependiendo de si se cumple la condición:

  1. OR([[Trabajo]] < 5; [[Examen]] < 5) : criterio a cumplir
  2. 0 : valor devuelto si se cumple el criterio
  3. ([[Trabajo]] + [[Examen]] / 2) : valor devuelto si no se cumple

La diferencia radica en que este primer término incluye un OR, que evalúa tanto si la nota del trabajo como la del examen son inferiores a 5:

  1. [[Trabajo]] < 5
  2. [[Examen]] < 5

Todo unido, nos devuelve la fórmula antes planteada (mucha atención a los paréntesis y a los puntos y comas que actúan a modo de separadores de términos):

= IF(OR([[Trabajo]] < 5; [[Examen]] < 5); 0; ([[Trabajo]] + [[Examen]] / 2))

Por último, tenemos el operador AND, muy similar al OR en su construcción, pero con una salvedad: deben cumplirse todas y cada una de las condiciones para que devuelva un valor positivo:

  • OR([[Trabajo]] < 5; [[Examen < 5]] : basta con que una de las dos notas sea inferior a 5 para que el criterio se cumpla
  • AND([[Trabajo]] < 5; [[Examen < 5]] : las dos notas deben ser inferiores a 5 para que el criterio se cumpla

NOTA: si al usar IF queremos establecer una condición de igualdad entre dos elementos, debemos utilizar el símbolo del doble igual (==):

= IF([[trabajo]] == 5; 1; 0) (si se cumple la igualdad, el valor resultante es "1"; en caso contrario, es "0")