Ayuda con Excel

Hola, pues resulta que tengo una hoja de calculo, bastante sencilla. Son 3 columnas con numeros, en la cuarta columna tengo la media de cada fila, y en la 5 tengo, o mejor dicho quiero tener una serie de IF anidados. Es un ejercicio de excel, tal que asi:

Nombre nota1 nota2 nota3 media evaluación
pepe 5 5 5 5 suficiente
juan 6 8 4 6 bien
,,,, ,,,,,,,,,,,
,,,,,,,,,,,,,,

El problema viene cuando el campo de la media es un campo calculado. Si calculo la media en dicho campo, en el campo evaluacion siempre me sale FALSO, si dejo los numero tal cual escritos me sale correctamente el campo evaluación. Si por el contrario calculo el campo siempre sale FALSO. La fórmula por si alguien la quieree, del campo evaluación es:
=IF(E6<5;"insuficiente";IF(E6=5;"suficiente"; IF(E6=6;"bien";IF(E6=7;"notable";IF(E6=8;"notable alto";IF(E6>8;"sobresaliente"))))))
Yo el problema que veo ahí es que sólo pones calificación para notas exactas cómo son un 5, un 6, etc, si la media sale con decimal sale el valor FALSO.

Prueba con esto, he cambiado alguna cosa. A mí al menos no me da error.

=IF(E6<5;"insuficiente";IF(E6<6;"suficiente"; IF(E6<7;"bien";IF(E6<8;"notable";IF(E6<9;"notable alto";IF(E6>9;"sobresaliente"))))))
Hola, muchas gracias por responder, pero mira lo que sale al poner la formula tal como la modificaste:

Imagen

Se confunde con algunas notas. Incluso sale uno FALSE, a ti te ocurrió lo mismo??. Esto solo pasa si el campo Nota Final es el calculo de la media de los demás, o sea:

=AVERAGE(B6: D6)
Lo siento, se me olvido tener en cuenta el valor del 9, ahora lo arreglo y edito.

A mí no me ha dado ningún problema y lo he hecho pillándolo de la columna de la media, y esa columna la he hecho con la fórmula AVERAGE (=PROMEDIO en español, que lo tengo yo).


=IF(E6<5;"insuficiente";IF(E6<6;"suficiente"; IF(E6<7;"bien";IF(E6<8;"notable";IF(E6<9;"notable alto";"sobresaliente")))))
Jo, eres un crack. Lo que no se porque no funciona de la otra forma. No se, sabes el porque?. Puede que se lie por los simbolos =.

Es que estoy empezando con excel y vengo de otros lenguajes como C y eso, y al principio usaba == para comparar y cosas así y no me funcionaba nada, jaja. Es lo que tiene aprender por tu propia cuenta y riesgo. Ser un paquete como yo.
¿Por que no funciona?

=IF(E6<5;"insuficiente";IF(E6=5;"suficiente"; IF(E6=6;"bien";IF(E6=7;"notable";IF(E6=8;"notable alto";IF(E6>8;"sobresaliente"))))))


Porque esta formula toma valores esactos para las comparaciones, ej: es suficiente solamente si el promedio te da como resultado 5, en el caso de que las notas sean 5,5,6 el promedio seria 5,3333333, y en este caso en particular no tienes una comparacion que diga algo asi como IF(E6=5.33333:"suficiente").

=IF(E6<5;"insuficiente";IF(E6<6;"suficiente"; IF(E6<7;"bien";IF(E6<8;"notable";IF(E6<9;"notable alto";IF(E6>9;"sobresaliente"))))))


En esta sentencia escrita por Shermie la formula resulta correcta porque las sentencias son evaluadas de izquierda a derecha, y cuando se encuentra una coincidencia no se evaluan el resto de los IF. Por lo tanto si la nota promedio da como resultado 6,7 se evaluara el primer IF E6<5 lo cual dara FALSE, entonces se evalua el segundo IF E6<6 tambien FALSE, por lo que se evalua el siguiente IF E<7 en este caso es TRUE, por lo cual no se siguen evaluando los IF y excel toma el valor asignado como verdadero y lo muestra. Si se evaluaran el resto de los IF todos los restantes serian verdaderos ya que 6,7 es menor que 8 y que 9.

Tomando en cuenta lo antes dicho y la forma habitual de redondeo (ej: 4, 3= 4, 4,5= 5, 4.7=5) creo que la forma correcta de escribir la sentencia IF seria:

=IF(E6<4,5;"insuficiente";IF(Y(E6>=4,5;E6<5,5);"suficiente"; IF(Y(E6>=5,5;E6<6,5);"bien";IF(Y(E6>=6,5;E6<7,5);"notable";IF(Y(E6>=7,5;E6<8,5);"notable alto";IF(E6>8,5;"sobresaliente"))))))

Para este caso tomo rango de valores. ej: "Y(E6>=4,5;E6<5,5" la sentecia IF es verdadera si el promedio es mayor o igual que 4,5 y menor a 5.5.
Dios mio, que bobo. Con lo facil que era. Muchas gracias.
Perdon pero también le ere con la formula por un pequeño detalle no tome encuenta el valor 8,5, así que la formula correcta es:

=IF(E6<4,5;"insuficiente";IF(Y(E6>=4,5;E6<5,5);"suficiente"; IF(Y(E6>=5,5;E6<6,5);"bien";IF(Y(E6>=6,5;E6<7,5);"notable";IF(Y(E6>=7,5;E6<8,5);"notable alto";IF(E6>=8,5;"sobresaliente"))))))

No queraia de jar pasar este error.

Saludos.
Joder, muchas gracias. Tampoco me había dado cuenta del error.
8 respuestas