Había una vez una empresa de nombre Meteored en la que el encargado de Recursos Humanos (llamémoslo Ortíz) me lanzó su "Ortíz challenge":
Primeras 20 filas de la base de datos de origen |
¿Cómo procederías tú? ¿Qué harías? (Una pista, en el título de la nota).
Antes de proceder con la solución, cabe recordar que para Excel las fechas y horas son en realidad números con formato. Las fechas son números enteros y las horas son números decimales. Por ejemplo, las 12:00 horas son en realidad un valor 0.5 (es decir, la mitad del día) con formato de horas; análogamente, las 18:00 son un 0.75 con formato de horas, las 06:00 son un 0.25 and so on. En esta nota y en esta vimos más a detalle este tema.
Ok, veamos cómo se soluciona. Si observamos nuevamente la base de datos de Ortíz, veremos que se trata de una tabla de datos organizados en columnas, sin ninguna clase de resumen ni encabezados de fila. Solo datos y encabezados de columna. Esto la vuelve una candidata perfecta para ser utilizada en una tabla dinámica. Entonces, rápidamente vamos a la pestaña Insertar, Tabla dinámica, Aceptar. Como deseamos un resumen por empleado y por fecha, movemos los campos de Apellidos y Nombre al área de filas y el campo Fecha al área de columnas. Luego, con la tabla dinámica seleccionada, vamos a la pestaña Diseño, Diseño de informe, Mostrar en formato tabular. En seguida volvemos a dar clic derecho y desactivamos Subtotal "Apellido". Nos queda así:
Diseño inicial de la tabla dinámica |
¿Y las horas de entrada y salida...?
Como ya sabemos que las horas son un número decimal de cada día, es válido suponer que el valor mínimo de cada día corresponde a la hora de entrada y el valor máximo a la hora de salida. Con esto en mente, agregamos el campo Hora al área de Valores.
Hemos agregado el campo Hora al área de valores |
Vemos que por default Excel agrega el campo resumido con la operación Suma, lo cual en este caso no nos sirve, ya que queremos que nos devuelva el valor mínimo. Por lo tanto damos clic derecho sobre el área de Valores, Configuración de campo de valor..., Operación MÍN (puede venir como Resumir campo de valor por:, Mín.). Aprovechamos para cambiar el Nombre del campo (o Nombre del origen) a "Entrada".
Luego, le damos clic al botón Configuración de campo de valor..., Formato de número, Hora, Aceptar, Aceptar.
Ya va tomando forma la tabla. Para agregar ahora la hora de salida, vamos a la lista de campos de la tabla y volvemos a arrastrar el campo Hora al área de datos. A continuación aplicamos una configuración similar a este campo, pero ahora aplicando operación MAX y como Nombre de campo, "Salida".
Finalmente quitamos las columnas de total de columnas y total general ya que no son de interés (por esta ocasión). Para ello damos clic derecho sobre la tabla dinámica, Opciones de tabla dinámica, pestaña Totales y filtros y desactivamos las dos primeras opciones, Aceptar.
El resultado final:
Prueba superada |
Y así es como superamos el reto. Si el lector desea poner en práctica lo aprendido en esta nota, en este enlace puede descargar una base de datos similar a la que utilicé.
Por último, comentarles que ya estaré incursionando en YouTube. En el primer vídeo del canal está la resolución completa del presente ejercicio para quienes hayan quedado con alguna duda:
Saludos.