Come calcolare le ore lavorative mensili in Excel?
In molte organizzazioni, i dipendenti seguono un orario di lavoro standard, come 8 ore al giorno e 5 giorni alla settimana. Calcolare con precisione il totale delle ore lavorative mensili è fondamentale per l'elaborazione della busta paga, il monitoraggio dei progetti e la gestione del personale. Tuttavia, sommare manualmente il numero totale di ore per ogni mese può essere soggetto a errori e richiedere molto tempo, soprattutto quando si devono considerare i fine settimana, le festività pubbliche o i dipendenti con orari variabili. Excel offre strumenti pratici e metodi per aiutarti a semplificare e automatizzare questo calcolo, garantendo precisione ed efficienza nelle tue operazioni.
Di seguito sono riportate diverse soluzioni efficaci per calcolare le ore lavorative mensili in Excel, adatte a diverse strutture di dati e necessità:
Calcola il totale delle ore lavorative mensili con le formule
Codice VBA – Calcola automaticamente le ore lavorative mensili per più righe
Calcola il totale delle ore lavorative mensili con le formule
Le funzioni delle formule di Excel forniscono un approccio semplice e affidabile per calcolare il totale delle ore lavorative mensili quando si conoscono la data di inizio e fine e il limite giornaliero di ore lavorative. Questo metodo funziona meglio quando ogni giorno ha un orario di lavoro fisso e si desidera tener conto dei fine settimana e, facoltativamente, delle festività. Ecco come puoi impostare il tuo calcolo:
1. Seleziona una cella vuota dove desideri visualizzare il risultato, quindi inserisci la seguente formula:
=NETWORKDAYS(A2,B2) *8
Dopo aver digitato la formula, premi il tasto Invio. Inizialmente, il risultato potrebbe apparire formattato come una data. Lo screenshot sottostante dimostra ciò:
2. Per visualizzare il valore come numero (ore lavorative), seleziona la cella con il risultato della formula. Quindi, nella scheda Home, trova il menu a discesa Formato Numero e seleziona Generale. La cella ora mostrerà il numero totale di ore lavorative come un numero semplice, come mostrato:
Suggerimenti: Per riflettere accuratamente i periodi che includono festività, puoi escludere quei giorni aggiungendo un intervallo di festività nella tua formula. Usa:
=NETWORKDAYS(A2,B2, C2:C4) *8
dove A2 è la data di inizio, B2 è la data di fine e C2:C4 elenca le date delle festività che desideri escludere. Formatta la cella come Generale come descritto sopra.
Nota: Regola i riferimenti delle celle (come A2, B2, C2:C4) in base alla posizione dei tuoi dati. Questo metodo funziona meglio per gli orari di lavoro giornalieri standard. Se i dipendenti lavorano part-time o le ore lavorative giornaliere variano, potrebbe essere necessario adattare la formula o utilizzare uno dei metodi alternativi sotto descritti.
Uno dei vantaggi dell'utilizzo delle formule è che una volta impostate, si aggiornano automaticamente quando modifichi le date o le festività. Tuttavia, per dataset contenenti più dipendenti o registrazioni di presenze più complesse, potresti trovare più convenienti le seguenti soluzioni avanzate.
Codice VBA – Calcola automaticamente le ore lavorative mensili per più righe
Se il tuo foglio di lavoro registra più dipendenti o righe — ciascuna con periodi diversi o date di inizio e fine variabili — inserire manualmente le formule riga per riga diventa tedioso. Utilizzando una macro VBA, puoi calcolare automaticamente le ore lavorative per ogni riga in blocco, risparmiando tempo e riducendo gli errori manuali.
Questa soluzione è particolarmente utile quando hai una tabella in cui ogni riga rappresenta un dipendente o un periodo di lavoro distinto, con colonne per Data di Inizio, Data di Fine e, opzionalmente, Festività. La macro sottostante scorrerà tutte le righe e compilerà le ore lavorative calcolate per ogni voce.
1. Apri l'editor Visual Basic for Applications cliccando Strumenti di sviluppo > Visual Basic. Nella nuova finestra, clicca Inserisci > Modulo, e incolla il seguente codice VBA nell'area del codice:
Sub CalculateMonthlyWorkingHours()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim startCol As String, endCol As String, holidayCol As String, resultCol As String
Dim holidays As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Adjust these column letters as needed
startCol = "A" ' Start Date in Column A
endCol = "B" ' End Date in Column B
holidayCol = "C" ' Holiday list in Column C (optional; can be blank)
resultCol = "D" ' Results in Column D
lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
For i = 2 To lastRow
If ws.Cells(i, startCol).Value <> "" And ws.Cells(i, endCol).Value <> "" Then
If ws.Cells(i, holidayCol).Value <> "" Then
holidays = Split(ws.Cells(i, holidayCol), ",")
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol), holidays) * 8
Else
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol)) * 8
End If
Else
ws.Cells(i, resultCol).Value = ""
End If
Next i
End Sub
Note e istruzioni:
- Regola le lettere delle colonne (startCol, endCol, holidayCol, resultCol) secondo necessità per abbinarle al layout del tuo foglio di lavoro.
- La colonna holidayCol dovrebbe contenere date separate da virgole, come 7/3/2025,7/18/2025. Se non necessario, puoi lasciarla vuota.
- Questa macro presuppone che i dati inizino dalla riga 2 (dopo l'intestazione).
2. Per eseguire la macro, clicca il pulsante o premi F5 mentre il modulo è selezionato. Il codice calcolerà automaticamente e compilerà il totale delle ore lavorative mensili per tutte le righe nella colonna dei risultati. Se incontri un errore, verifica che i riferimenti ai dati e i formati delle date siano corretti.
Questo metodo è particolarmente efficace per automatizzare i calcoli su grandi liste di dipendenti o dati di fogli di presenza multi-riga, garantendo coerenza e riducendo il rischio di record mancanti. Se la tua struttura dati è più flessibile o desideri riepilogare i registri di presenza giornalieri, prendi in considerazione l'utilizzo di una Tabella Pivot come descritto di seguito.
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in