Come si calcolano le ore lavorative mensili in Excel?
In molte organizzazioni, i dipendenti seguono un orario di lavoro standard, ad esempio 8 ore al giorno per 5 giorni alla settimana. Calcolare con precisione il totale delle ore lavorative mensili è fondamentale per elaborare le buste paga, monitorare i progetti e gestire efficacemente il personale. Tuttavia, conteggiare manualmente le ore totali ogni mese può rivelarsi soggetto a errori e dispendioso in termini di tempo, soprattutto quando bisogna tenere conto di fine settimana, festività pubbliche o dipendenti con orari variabili. Excel offre strumenti e metodi pratici per 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 ed esigenze:
Calcola il totale delle ore lavorative al mese con formule
Codice VBA – Calcola automaticamente le ore lavorative mensili per più righe
Calcola il totale delle ore lavorative al mese con formule
Le formule di Excel offrono un metodo semplice e affidabile per calcolare il totale delle ore lavorative mensili quando si conoscono la data di inizio, la data di fine e il monte ore giornaliero. Questo approccio funziona al meglio quando ogni giorno ha un orario di lavoro fisso e si desidera escludere i weekend, includendo facoltativamente anche le festività. Ecco come impostare il calcolo:
1. Seleziona una cella vuota in cui visualizzare il risultato e 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 seguente illustra questa situazione:

2. Per visualizzare il valore come numero (ore lavorative), seleziona la cella con il risultato della formula. Quindi, nella scheda Home, individua il menu a discesa Formato numeri e seleziona Generale. La cella mostrerà ora il numero totale di ore lavorative come numero semplice, come illustrato:

Suggerimenti: per rappresentare con precisione i periodi che includono festività, puoi escludere tali giorni aggiungendo un intervallo di festività nella formula. Utilizza:
=NETWORKDAYS(A2,B2, C2:C4) *8 dove A2 è la data di inizio, B2 è la data di fine e C2:C4 elenca le date festive da escludere. Formatta la cella come Generale, come descritto sopra.

Nota: Adatta i riferimenti di cella (ad esempio A2, B2, C2:C4) in base alla posizione dei tuoi dati. Questo metodo funziona al meglio con orari di lavoro giornalieri standard. Se i dipendenti lavorano part-time o se le ore giornaliere variano, potresti dover modificare la formula o ricorrere a uno dei metodi alternativi illustrati di seguito.
Un vantaggio dell’uso delle formule è che, una volta impostate, si aggiornano automaticamente non appena modifichi date o festività. Tuttavia, per set di dati con più dipendenti o registrazioni presenze più complesse, potresti trovare più comode le seguenti soluzioni avanzate.
Codice VBA – Calcola automaticamente le ore lavorative mensili per più righe
Se il tuo foglio di lavoro include più dipendenti o righe, ciascuna con periodi diversi o date di inizio e fine differenti, inserire manualmente le formule riga per riga diventa rapidamente noioso. Grazie a una macro VBA, puoi calcolare automaticamente le ore lavorative per ogni riga in blocco, risparmiando tempo e riducendo al minimo gli errori manuali.
Questa soluzione è particolarmente utile quando la tua tabella presenta una riga per ogni dipendente o periodo lavorativo distinto, con colonne dedicate a Data di inizio, Data di fine e, opzionalmente, Festività. La macro seguente analizzerà automaticamente tutte le righe e compilerà le ore lavorative calcolate per ciascun record.
1. Apri l’editor di Visual Basic for Applications facendo clic su Strumenti sviluppatore > Visual Basic. Nella nuova finestra, fai clic su 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) in base al layout del tuo foglio di lavoro.
- La colonna holidayCol deve contenere date separate da virgole, ad esempio 7/3/2025 , 7/18/2025. Se non ti serve, puoi lasciarla vuota.
- Questa macro presuppone che i dati inizino dalla riga 2, subito dopo l'intestazione.
2. Per eseguire la macro, fai clic sul pulsante
oppure premi F5 con il modulo selezionato. Il codice calcolerà e compilerà automaticamente il totale delle ore lavorative mensili per tutte le righe nella colonna dei risultati. In caso di errore, verifica che i riferimenti ai tuoi dati e il formato data siano corretti.
Questo metodo si rivela particolarmente efficace per automatizzare i calcoli su ampi elenchi di dipendenti o su dati multiriga provenienti da fogli presenze, assicurando coerenza e riducendo il rischio di omissioni. Se la struttura dei tuoi dati è più flessibile o desideri riepilogare le registrazioni giornaliere delle presenze, prendi in considerazione l’utilizzo di una tabella pivot, come illustrato di seguito.
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 oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi