Intersección de intervalos de fechas

Una de las tareas típicas de un usuario de Microsoft Excel. Disponemos de dos rangos de fechas del tipo “principio-fin”. El desafío es determinar si estos rangos se superponen y, de ser así, por cuántos días.

¿Intersección o no?

Comencemos por resolver la pregunta de si existe una intersección de intervalos en principio. Supongamos que tenemos una tabla de turnos de trabajo para empleados como esta:

Se ve claramente que los turnos de trabajo de Yaroslav y Elena se cruzan, pero ¿cómo calcular esto sin recurrir a la construcción de un calendario y un control visual? La función nos ayudará. SUMPRODUCT (SUMAPRODUCTO).

Insertemos otra columna en nuestra tabla con una fórmula que produzca el valor booleano VERDADERO si las fechas se cruzan:

¿Cuántos días es la travesía?

Si fundamentalmente no es fácil entender si nuestros intervalos se cruzan o no, pero saber exactamente cuántos días exactamente caen en la intersección, entonces la tarea se vuelve más complicada. Lógicamente, es necesario “bombear” hasta 3 situaciones diferentes en una misma fórmula:

  • los intervalos no se superponen
  • uno de los intervalos absorbe completamente al otro
  • los intervalos se cruzan parcialmente

De vez en cuando, veo la implementación de este enfoque por parte de otros usuarios que usan un montón de funciones IF anidadas, etc.

De hecho, todo se puede hacer maravillosamente usando la función MEDIAN (MEDIANA) de la categoría Estadístico.

Si condicionalmente designamos el comienzo del primer intervalo como N1, y el final para K1, y el comienzo de la segunda N2 y terminar por K2, entonces, en términos generales, nuestra fórmula se puede escribir como:

=MEDIANA(N1;K1+ 1;K2+1)-MEDIANA(N1;K1+ 1;N2)

Compacto y elegante, ¿no? 😉

  • ¿Cómo funciona realmente Excel con las fechas? ¿Cómo calcular el número de días naturales o hábiles entre fechas?
  • ¿Cómo crear un horario de calendario (vacaciones, entrenamientos, turnos...) en Excel usando formato condicional?
  • Comprobación de una o más condiciones con funciones IF (IF)

Deje un comentario