Formula Excel: conta le festività tra due date -

Formula generica

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

Sommario

Per contare le festività che si verificano tra due date, è possibile utilizzare la funzione SUMPRODUCT.

Nell'esempio mostrato, la formula in F8 è:

=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))

Spiegazione

Questa formula utilizza due espressioni in una singola matrice all'interno della funzione SUMPRODUCT.

La prima espressione verifica ogni data di festività per vedere se è maggiore o uguale alla data di inizio in F5:

(B4:B12>=F5)

Questo restituisce un array di valori VERO / FALSO come questo:

(FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE)

La seconda espressione verifica ogni data di festività per vedere se è minore o uguale alla data di fine in F6:

(B4:B12<=F6)

che restituisce un array di valori VERO / FALSO come questo:

(TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; FALSE)

La moltiplicazione di questi due array costringe automaticamente i valori VERO / FALSO a uno e zero, risultando in array che assomigliano a questo:

=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))

Dopo la moltiplicazione, abbiamo solo un array come questo:

=SUMPRODUCT((0;0;0;0;1;1;1;1;0))

Infine, SUMPRODUCT somma gli elementi nell'array e restituisce 4.

Festivi solo nei giorni feriali

Per contare le festività che si verificano solo nei giorni feriali (lunedì-venerdì), puoi estendere la formula in questo modo:

=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))

dove rng è un intervallo contenente le date delle festività.

Articoli interessanti...