Mahesh può capire come calcolare la differenza tra due date e ore in minuti. Tuttavia, vorrebbe calcolare la differenza in minuti, escludendo le ore tra le 17:00 e le 8:00 e tutto ciò che è compreso tra le 17:00 del venerdì e le 8:00 del lunedì. Ad esempio, se la prima data è 18/02/09 18:00 e la data di fine è 19/02/09 9:00, il risultato corretto dovrebbe essere 60 minuti. Mahesh si chiede se sia possibile farlo con una formula.

Come dovrebbe essere ovvio, una formula per ottenere il risultato desiderato potrebbe essere molto complessa. Molti abbonati hanno fornito soluzioni diverse, incluse alcune fantastiche funzioni definite dall’utente. Piuttosto che concentrarmi su tutti, ho pensato di saltare direttamente alla formula più elegante (più breve) e suggerire di usarla.

Supponiamo che la tua data / ora di inizio fosse nella cella A1 e la data / ora di fine fosse nella cella B1. Detto questo potresti usare la seguente formula:

=(NETWORKDAYS(A1,B1)-1)*("17:00"-"08:00")

+IF(NETWORKDAYS(B1,B1),MEDIAN(MOD(B1,1),"17:00"

,"08:00"),"17:00")-MEDIAN(NETWORKDAYS(A1,A1)

* MOD(A1,1),"17:00","08:00")

Questa è un’unica formula; restituisce un tempo trascorso. Ciò significa che dovrai formattare la cella per mostrare il tempo trascorso. Se preferisci che il risultato sia un intero regolare, allora dovresti usare questa versione della formula, invece:

=((NETWORKDAYS(A1,B1)-1)*("17:00"-"08:00")

+IF(NETWORKDAYS(B1,B1),MEDIAN(MOD(B1,1),"17:00"

,"08:00"),"17:00")-MEDIAN(NETWORKDAYS(A1,A1)

MOD(A1,1),"17:00","08:00"))1440

La modifica (moltiplicando il risultato originale per 1440) si traduce in un numero di minuti anziché in un tempo trascorso. Il valore 1440 viene derivato moltiplicando 60 per 24 per ottenere il numero di minuti in un giorno.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (5399) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: