domingo, 14 de junio de 2020

EXCEL: Contar días festivos entre dos fechas

Excel formula: Count holidays between two dates

Fórmula genérica

=SUMAPRODUCTO((holidays>=start)*(holidays<=end))

Explicación

Para contar los días festivos que ocurren entre dos fechas, puede usar la función SUMAPRODUCTO.
En el ejemplo que se muestra, la fórmula en F8 es:
=SUMAPRODUCTO((B4:B12>=F5)*(B4:B12<=F6))

Cómo funciona esta fórmula

Esta fórmula usa dos expresiones en una sola matriz dentro de la función SUMAPRODUCTO.
La primera expresión prueba cada fecha de vacaciones para ver si es mayor o igual que la fecha de inicio en F5:
(B4:B12>=F5)
Esto devuelve una matriz de valores VERDADERO / FALSO como este:
{FALSO; FALSO; FALSO; FALSO; VERDADERO; VERDADERO; VERDADERO; VERDADERO; VERDADERO}
La segunda expresión prueba cada fecha de vacaciones para ver si es menor o igual que la fecha de finalización en F6:
(B4:B12<=F6)
que devuelve una matriz de valores VERDADERO / FALSO como este:
{VERDADERO; VERDADERO; VERDADERO; VERDADERO; VERDADERO; VERDADERO; VERDADERO; VERDADERO; FALSO}
La multiplicación de estas dos matrices coacciona automáticamente los valores VERDADERO / FALSO a unos y ceros, dando como resultado matrices que se ven así:
=SUMAPRODUCTO(({0;0;0;0;1;1;1;1;1})*({1;1;1;1;1;1;1;1;0}))
Después de la multiplicación, tenemos solo una matriz como esta:
=SUMAPRODUCTO({0;0;0;0;1;1;1;1;0})
Finalmente, SUMAPRODUCTO suma los elementos en la matriz y devuelve 4.

Días festivos solo entre semana

Para contar los días festivos que ocurren solo de lunes a viernes (de lunes a viernes), puede extender la fórmula de esta manera:
=SUMAPRODUCTO((rng>=F5)*(rng<=F6)*(DIASEM(rng,2)<6))
donde rng es un rango que contiene fechas de vacaciones.

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT