- Mensajes: 10845
- Gracias recibidas: 3997
Normalmente habrá varias formas de resolver un mismo problema así que no dudéis en comentar vuestras posibles alternativas a las soluciones que se dan.
Fórmula para calcular medias finales, con recuperaciones y condiciones
- bert
- Autor del tema
- Administrador
Las condiciones de las que partimos son las siguientes:
1º SI LA NOTA DE LAS 3 EVAL ES ≥ 5 HAGO LA MEDIA CON ELLAS.
2º SI ALGUNA EVALUACIÓN NO ESTÁ APROBADO, LA MEDIA LA HAGO CON LA NOTA DE LA RECUPERACIÓN DE ESA EVALUACIÓN SIEMPRE QUE ESTA SEA IGUAL O MAYOR DE 5.
3º SI ALGUNA DE LAS NOTAS DE RECUPERACIÓN DE ALGUNA EVALUACIÓN NO ES ≥ 5, ME DEJA LA CASILLA EN BLANCO.
Y a continuación los pasos. Es una explicación elaborada pero si sólo es preocupa el resultado final, ya sabéis, saltaros los detalles.
Indicaros que esta es sólo una forma de resolverlo, hay muchas otras y seguro que alguna más corta y elegante. Si queréis meter baza en este post, no os cortéis.
Dividiremos el problema en partes, para poder plantear una fórmula que tenga sentido y no sea una longaniza interminable y difícil de entender o de modificar.
La última condición es la que complica un poco todo lo demás así que empezaremos por ahí.
Utilizaremos una condición IF sencilla ( explicada aquí ) y la función MIN ( explicada aquí )
Quedaría así:
IF( MIN (RECUPERACION1, RECUPERACION2 , RECUPERACION3) < 5, NORESULT())
Con esta fórmula, si cualquier recuperación es menor de 5, la celda resultado quedará en blanco (la función NO RESULT)
Si no hay recuperación, esa condición tampoco se cumplirá.
La segunda parte, cómo seleccionar entre la nota de recuperación o la de trimestre.
Aquí soléis plantear dos cuestiones, una sería elegir la nota máxima de entre las dos
y esto se resolvería con la función MAX ( explicada aquí )
MAX ( NOTATRIMESTRE1, RECUPERACION1)
Es decir, selecciona la nota mayor de entre NOTATRIMESTRE1 y RECUPERACION1
pero en este caso debe ser RECUPERACION, si se ha hecho, sea cual sea su nota.
La cosa quedaría así
IF (RECUPERACION1, RECUPERACION1, NOTATRIMESTRE1)
Es decir, si hay RECUPERACION1, selecciona RECUPERACION1. En caso contrario, NOTATRIMESTRE1.
Todo esto, en una media quedaría así, podéis utilizar AVERAGE o FLEXAVERAGE. Se comportarán igual ( explicado aquí )
FLEXAVERAGE (
IF (RECUPERACION1, RECUPERACION1, NOTATRIMESTRE1),
IF (RECUPERACION2, RECUPERACION2, NOTATRIMESTRE2),
IF (RECUPERACION3, RECUPERACION3, NOTATRIMESTRE3)
)
Es decir, calcula la media de tres notas y en cada una de ellas elegimos recuperación o nota trimestre.
y aquí, la composición final en la que entra la primera condición junto con todo lo demás.
y algunos datos de muestra
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
- bert
- Autor del tema
- Administrador
- Mensajes: 10845
- Gracias recibidas: 3997
MAX (TRIMESTRE1,RECUPERACION1)
en lugar de IF (RECUPERACION1,RECUPERACION1, TRIMESTRE1) con lo que queda una fórmula más sencilla todavía
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
- Eduferlo
- iDocente
- Mensajes: 40
- Gracias recibidas: 1
una DUDA
MAX (TRIMESTRE1,RECUPERACION1), creo que en mi caso no se puede utilizar, te explico, un alumno puede hacer la recuperación y puede sacar menos nota que en el trimestre y entonces tengo en cuenta la nota de la recuperación , no la máxima, como usaría la fórmula de MAX, verdad?.
estas son las 3 condiciones que te explique, faltaría la 4º que se me olvido comentarte.
1º SI LA NOTA DE LAS 3 EVAL ES ≥ 5 HAGO LA MEDIA CON ELLAS.
2º SI ALGUNA EVALUACIÓN NO ESTÁ APROBADO, LA MEDIA LA HAGO CON LA NOTA DE LA RECUPERACIÓN DE ESA EVALUACIÓN SIEMPRE QUE ESTA SEA IGUAL O MAYOR DE 5.
3º SI ALGUNA DE LAS NOTAS DE RECUPERACIÓN DE ALGUNA EVALUACIÓN NO ES ≥ 5, ME DEJA LA CASILLA EN BLANCO.
4º SI UN ALUMNO TIENE <5, EN 2 DE LOS 3 TRIMESTRES ( TRIMESTRE1 Y TRIMESTRE2, TRIMESTRE3), QUIERO QUE QUE NO PONGA RESULTADO TAMPOCO, PORQUE HACEN UN EXAMEN GLOBAL QUE ES OTRA COLUMNA DIFERENTE.
SERÍA ALGO ASÍ? NO SE COMO PONERLO
IF( MIN (TRIMESTRE1 Y TRIMESTRE2, OR TRIMESTRE 1 Y TRIMESTRE 3, OR TRIMESTRE 2 TRIMESTRE 3) < 5, NORESULT())
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
- bert
- Autor del tema
- Administrador
- Mensajes: 10845
- Gracias recibidas: 3997
En tu caso concreto, la recuperación será siempre mayor que 5 o arrojará resultado vacío (por la condición inicial) luego la función MAX te serviría como equivalente.
La cuarta condición quedaría así, te la marco en negrita en tu fórmula original
La función COUNTIF ( está explicada aquí ) cuenta el número de columnas que cumplen la condición. En este caso, el número de columnas con valor menor que 5.
IF(
(COUNTIF( VALUE()<5, TRIMESTRE1, TRIMESTRE2,TRIMESTRE3)≥ 2)
OR
MIN (RECUPERACION1, RECUPERACION2 , RECUPERACION3)< 5,
NORESULT(),
FLEXAVERAGE ( ...
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
- Eduferlo
- iDocente
- Mensajes: 40
- Gracias recibidas: 1
Da gusto la rapidez con la que contestas.
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
- Eduferlo
- iDocente
- Mensajes: 40
- Gracias recibidas: 1
tengo alumnos que no han ido a las últimas pruebas y por lo tanto no aprueban la 3ª evaluación, no tengo más días para hacerles recuperación.
necesito añadir a la fórmula que si tienen suspensa el 3 Trimestre y la recuperación 3 no tiene datos (está en blanco, no tiene resultado, que no haga la media de la nota final y quede en blanco. (NORESULT)
sería añadir IF (Trimestre3<5 AND Recuperación 3 = NORESULT (NO TIENE NINGÚN VALOR ESCRITO), NORESULT,
no me lo hace porque no se si las fórmulas aceptan NORESULT para referirte una celda que no tiene datos.
si solo pongo que si el trimestre 3 < 5, me lo hace, o se como es.
pero me faltaría añadir que se de que a la vez de tener el trimestre 3 <5 no haya datos en recuperación 3.
la duda de como expresar en las fórmulas una celda que no tiene nada escrito me sirve para otras fórmulas, pero poner TRIMESTRE1= NORESULT no funciona.
Gracias por todo
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
- bert
- Autor del tema
- Administrador
- Mensajes: 10845
- Gracias recibidas: 3997
La función que te falta se llama EMPTY y te indica si una columna está vacía.
Partiendo de la fórmula del último post, te añado en negrita la nueva condición
IF(
(TRIMESTRE3<5 AND EMPTY (RECUPERACION3))
OR
(COUNTIF( VALUE()<5, TRIMESTRE1, TRIMESTRE2,TRIMESTRE3)≥ 2)
OR
MIN (RECUPERACION1, RECUPERACION2 , RECUPERACION3)< 5,
NORESULT(),
FLEXAVERAGE ( ...
Por favor, Identificarse o Crear cuenta para unirse a la conversación.