#Excel – Come contare quanti lunedì (o un altro giorno) ci sono tra due date

Per contare il numero di lunedì, venerdì, domeniche, ecc compresi tra due date è possibile utilizzare una formula matriciale che utilizzi le funzioni: MATR.SOMMA.PRODOTTO, GIORNO.SETTIMANA, RIF.RIGA e INDIRETTO.

Come contare i lunedì tra due date

Nell’esempio mostrato, la formula nella cella F4 è:

=MATR.SOMMA.PRODOTTO(--(GIORNO.SETTIMANA(RIF.RIGA(INDIRETTO(B4&":"&C4)))=D4))

Come funziona questa formula

Al centro, questa formula utilizza la funzione GIORNO.SETTIMANA per testare se una serie di date coincidano con un determinato giorno della settimana, poi la funzione MATR.SOMMA.PRODOTTO ne somma il numero di occorrenze.

Quando si fornisce una data alla funzione GIORNO.SETTIMANA, essa restituisce semplicemente un numero compreso tra 1 e 7, che corrisponde ad un particolare giorno della settimana. Con le impostazioni di default, 1 = Domenica e 7 = Sabato. Quindi, 2 = Lunedi, 6 = Venerdì, e così via.

Il trucco per questa formula è comprendere che le date in Excel sono numeri di serie che iniziano il 1 gennaio 1900. Per esempio, il 1 Gennaio 2016 è il numero di serie 42370, e l’8 gennaio è 42377. Le date in Excel vengono visualizzate come date nel momento in cui viene ad esse applicato un formato numerico data.

Quindi, la domanda diventa – come si può costruire una serie di date da fornire alla funzione GIORNO.SETTIMANA per scoprire corrispondenti giorni della settimana?

La risposta è quella di utilizzare le funzioni RIF.RIGA e INDIRETTO in questo modo:

RIF.RIGA(INDIRETTO(data1&":"&data2))

INDIRETTO fa in modo che le date concatenate “42370:42377” possano venire interpretate come numeri di riga. Poi la funzione RIF.RIGA restituisce una matrice come questa:

{42370.42371.42372.42373.42374.42375.42376.42377}

La funzione GIORNO.SETTIMANA analizza questi numeri come date e restituisce questa matrice:

{6.7.1.2.3.4.5.6}

che viene confrontata con il giorno della settimana fornito (2 in questo caso, da cella D4). Una volta che i risultati del test vengono convertiti in 1 e 0 grazie al doppio unario (doppio trattino), questa matrice viene elaborata dalla funzione MATR.SOMMA.PRODOTTO:

{0.0.0.1.0.0.0.0}

Che restituisce 1.

LEGGI:  #Excel - Come ottenere l'indirizzo della prima o dell'ultima cella di un intervallo denominato

 

Copyright © 2014-2017  Office Academy. Tutti i diritti riservati.
Vai alla barra degli strumenti