Ho dovuto affrontare un interessante problema in Excel, legato alla durata di un evento, e lo metto qui che magari può servire a qualcuno
1 – Il problema
Una serie di lavorazioni vengono eseguite una dopo l’altra da una macchina, e la responsabile vuole creare in Excel una tabella di programmazione, dove ogni riga è una lavorazione.
2 – La situazione
La tabella contiene
- La colonna INIZIO con la data ora di inizio
- La colonna DURATA con la durata nel formato hh:mm
- La colonna FINE con la data ora di fine
Il primo INIZIO è inserito a mano, così come tutte le durate. Occorre calcolare la FINE di ogni lavorazione, e l’INIZIO della lavorazione successiva.
3 – L’intoppo
La macchina lavora 24 ore al giorno, con una interruzione da Sabato alle 12:00 fino a Lunedì alle 06:00.
La lavorazione che a mezzogiorno del Sabato è ancora in macchina viene interrotta e il tempo restante viene completato a partire dalle ore 6 del Lunedì successivo
La lavorazione successiva inizia dopo aver completato la lavorazione interrotta.
4 – La soluzione
Calcolo della FINE:
=SE(E(GIORNO.SETTIMANA(B2; 2) = 6; B2 + C2 > (ARROTONDA.PER.DIF(B2; 0) + 0,5)); ARROTONDA.PER.DIF(B2; 0) + 0,5; B2 + C2)
Il primo INIZIO è inserito a mano; i successivi sono calcolati con la seguente formula:
=SE(B2+C2-D2;B2+C2+1,75;D2)