Ayuda con la búsqueda de datos de celdas al introducir código usando Microsoft Excel

Hola Fernando.
En la universidad debo hacer una monitoria en una sala de internet donde se presta servicio a los estudiantes; el caso es que algunos estudiantes son sancionados por comportamientos indebidos, la sanción es suspenderles el servicio por una semana (5 días hábiles.
Los estudiantes sancionados se ubican en una hoja llamada Sanciones.
Como hacer para que al digitar el código que identifique al estudiante, me revise automáticamente su historial, si esta sancionado entonces que no se permita registrar ese estudiante.
El caso es que cuando un estudiante se sanciona, la sanción durara desde la fecha de sanción + 5 días haboles, no se tiene encuenta el domingo, solo de lunes a sábado.
Es decir, es necesario que ademas de que el código del estudiante coincida con el que esta sancionado, debe hacer una comparación de fechas para deteminar si aun sigue sancionado o no el estudiante.
Muchas gracias

1 Respuesta

Respuesta
1
Vuelto de mi fin de semana, me encontré con tu pregunta.
Para resolver esta situación asumiré que la base ubicada en la hoja "Sanciones" tienes una base (rango: A4:C400) con, por lo menos, tres columnas:
1.- Código
2.- Apellido y nombre
3.- Fecha última sanción
Para identificar al alumno, podrás utilizar una simple fórmula BUSCARV() para obtener su Apellido y nombre:
Si ingresas el código de alumno en la celda B2, por ejemplo, coloca una fórmula como esta en la celda C2:
=SI(ESNOD(BUSCARV($B2;Sanciones!$A$4:$C$400;2;0));"No existe";BUSCARV($B2;Sanciones!$A$4:$C$400;2;0))
Considera si usas ; o, para separar los argumentos de la fórmula.
(En realidad, el nombre del alumno deberías buscarlo en una base general de datos, pero la fórmula sería similar a la indicada)
De la misma manera, puedes saber la fecha más reciente en que fue sancionado (en caso de que figure en la hoja de sanciones) y compararla con la fecha actual. Si esta es menor que la fecha de la sanción más 5 días, la fórmula te indicaría que todavía está sancionado, caso contrario dará OK.
Tal fórmula sería:
=SI(ESNOD(BUSCARV($B2;Sanciones!$A$4:$C$400;2;0));"No sanc.";SI(HOY()>BUSCARV($B2;Sanciones!$A$4:$C$400;3;0)+5+SI(RESIDUO(BUSCARV($B2;Sanciones!$A$4:$C$400;3;0);7)=2;0;1);"OK";"Aún Sanc"))
Bien, la primera parte de la fórmula es similar a la anterior: Si no lo encuentra en la base, indica que no fue sancionado (No Sanc.).
Pero si lo encuentra (=fue sancionado), compara la fecha de hoy con la fecha que tenga cargada más 5 días más 1 día que corresponde al domingo (inhábil) excepto en el único caso en que la sanción fuera aplicada un día lunes, puesto que el sábado cumpliría con la suspensión, pudiendo hacer uso del equipo a partir del lunes.
Así como planteaste tu problema, la fórmula sugerida -entiendo- resuelve la situación. Espero que sea lo que necesitas, pero puedes consultarme de nuevo si es que omití algo.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas