KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come calcolare il tempo trascorso – in giorni, mesi o anni – tra due date e orari in Excel?

AutoreSun Data di modifica

Quando si gestiscono programmi, si monitorano cronologie di progetti o si analizzano registri di eventi in Excel, spesso è necessario determinare quanto tempo è trascorso tra due momenti specifici. Ad esempio, date due liste – una con gli orari di inizio e un’altra con quelli di fine – potresti voler calcolare rapidamente il tempo trascorso per ogni coppia nella stessa riga, come illustrato nello screenshot seguente. Questo approccio è estremamente utile per la rendicontazione delle ore lavorative, il calcolo dell’età o il monitoraggio delle scadenze.
Uno screenshot che mostra un elenco di orari di inizio e fine in Excel

Calcola il tempo trascorso/giorni/mesi/anni con una formula

Utilizza codice VBA per calcolare direttamente il tempo trascorso


Calcola il tempo trascorso/giorni/mesi/anni con una formula

Calcola il tempo trascorso

Excel semplifica il calcolo della differenza tra due orari, utile in scenari quali il monitoraggio dei turni dei dipendenti, il calcolo dei tempi di risposta o il controllo dell’avanzamento di un progetto. Per orari nello stesso giorno, segui questi passaggi:

1. Fai clic su una cella vuota in cui desideri visualizzare il tempo trascorso (ad esempio, la cella C2) e inserisci la seguente formula:

=IF(B2<A2,1+B2-A2, B2-A2)
La cella A2 deve contenere l’orario di inizio e la cella B2 quello di fine. Questa formula gestisce anche i casi in cui l’orario di fine precede quello di inizio — ad esempio, per turni che superano la mezzanotte — assicurando comunque un calcolo preciso.

2. Dopo aver inserito la formula, premi Invio. Per applicarla ad altre righe, usa il quadratino di riempimento: fai clic sul piccolo quadrato nell’angolo in basso a destra della cella e trascinalo verso il basso per estenderla a ulteriori record. Così calcolerai automaticamente i tempi trascorsi per più voci.

3. Mantenendo selezionate le celle dei risultati, fai clic con il tasto destro per aprire il menu contestuale e scegli Imposta formato cella. Nella finestra di dialogo Imposta formato cella, nella scheda Numero, seleziona Ora dall’elenco a sinistra. A destra, scegli il formato orario preferito (ad esempio hh:mm, h:mm:ss, ecc.) per visualizzare i risultati come tempi trascorsi leggibili.
Uno screenshot che mostra la finestra di dialogo Formato celle per impostare i formati orari in Excel

4. Fai clic su OK per applicare la formattazione. I valori orari verranno ora visualizzati in base alla tua selezione, facilitando l’interpretazione delle durate complessive.

Suggerimenti aggiuntivi:

  • Assicurati che entrambe le colonne degli orari di inizio e fine siano formattate come orari validi di Excel per evitare errori.
  • Se prevedi che alcuni orari di fine turno cadano nel giorno successivo (ad esempio, nei turni notturni), la formula sopra tiene conto di questa situazione aggiungendo 1 — corrispondente a un intero giorno — quando necessario.
  • Se viene visualizzato l’errore «#VALORE!», verifica che le celle di origine non siano vuote o formattate in modo non corretto.

Calcola giorni, mesi o anni trascorsi

Calcolare il numero di giorni, mesi o anni tra due date è un’operazione comune nella pianificazione di progetti, nella determinazione dei periodi di servizio o nei calcoli anagrafici. Ecco un approccio efficace per ciascuna esigenza:

Per i giorni trascorsi, fai clic su una cella vuota (ad esempio C2) e inserisci la formula:

=B2-A2
Qui, A2 è la data di inizio e B2 è la data di fine. Dopo aver premuto Invio, trascina il quadratino di riempimento verso il basso per calcolare le righe aggiuntive.
Uno screenshot che mostra la formula per calcolare i giorni trascorsi in Excel

Nota: Assicurati che entrambe le date siano nel formato data di Excel; in caso contrario, il risultato potrebbe essere errato. Se desideri contare solo i giorni interi (ignorando ore e minuti), questa formula è perfetta.

Per calcolare i mesi tra due date, inserisci in una cella vuota:

=DATEDIF(A2,B2,"m")
Questa formula restituisce il numero di mesi completi trascorsi. Se anche i mesi parziali sono rilevanti, puoi visualizzare mesi frazionari combinandoli con i giorni.

Per gli anni (inclusi gli anni parziali), utilizza:

=DATEDIF(A2,B2,"y")
Se desideri gli anni in formato decimale, puoi provare =DATEDIF(A2,B2,"m")/12e formattare la cella del risultato come numero per una maggiore precisione.

Precauzioni:

  • Se la data di fine precede la data di inizio, queste formule restituiranno valori negativi: valuta l’aggiunta di una convalida.
  • Assicurati di digitare DATEDIF con attenzione: un errore di ortografia farà apparire l’errore «#NOME?» in Excel, poiché questa funzione non è inclusa nel menu standard delle funzioni.

Calcola anni, mesi e giorni trascorsi in un formato combinato

Se il tuo compito richiede una suddivisione più dettagliata (ad esempio, «2 anni, 6 mesi e 19 giorni»), Excel può eseguire questo calcolo combinando la funzione DATEDIF. Questa soluzione è ideale per calcolare la durata del servizio dei dipendenti, per elaborazioni anagrafiche o per qualsiasi scenario in cui serva una chiara separazione tra anni, mesi e giorni.

Seleziona una cella vuota (ad esempio C2) e inserisci la seguente formula:

=DATEDIF(A2,B2,"Y") & " Years, " & DATEDIF(A2,B2,"YM") & " Months, " & DATEDIF(A2,B2,"MD") & " Days"
Quindi premi Invio. Combina più calcoli DATEDIF per generare una stringa chiara e leggibile che indica con precisione l’intervallo di tempo trascorso.
Uno screenshot che mostra la formula per calcolare anni, mesi e giorni tra due date in Excel

Se devi applicare la formula a più righe, utilizza il quadratino di riempimento come illustrato in precedenza. Per assicurarti che il testo venga visualizzato correttamente, ti consigliamo di formattare la colonna risultante come «Generale».

Suggerimento utile: Se il tuo calcolo include anni bisestili o date con mesi di lunghezza variabile, puoi stare tranquillo: DATEDIF effettua calcoli precisi in base ai mesi e agli anni del calendario.

Risoluzione dei problemi e promemoria:

  • Controlla sempre con attenzione i tuoi dati di origine per individuare celle vuote o formati data/ora non corretti.
  • In caso di errori, prova a riformattare le colonne di input come «Data» o «Ora» per uniformare i dati.
  • Se le formule non si aggiornano dopo aver modificato la cella di origine, premi F9 per forzare il ricalcolo oppure verifica che il calcolo automatico sia attivato nelle opzioni di Excel.

Codice VBA per calcolare il tempo trascorso tra due date e orari

Se hai bisogno di automatizzare i calcoli o elaborare set di dati di grandi dimensioni, il VBA è uno strumento utile. Ad esempio, puoi unire i risultati del tempo trascorso in un’unica cella o personalizzare il calcolo secondo necessità.

1. Vai su Strumenti per sviluppatori > Visual Basic; si aprirà una nuova finestra di Microsoft Visual Basic, Applications. Fai clic su Inserisci > Modulo e incolla il seguente codice:

Sub CalcElapsedTimeBySelection()
    Dim startRange As Range
    Dim endRange As Range
    Dim outputCell As Range
    Dim ws As Worksheet
    Dim i As Long
    Dim rowCount As Long
    Dim elapsedTime As Double
    Dim startTime As Variant, endTime As Variant
    Dim xTitleId As String
    
    xTitleId = "Kutools for Excel"
    On Error Resume Next
    
    ' Prompt user for ranges
    Set startRange = Application.InputBox("Select the range for Start Time:", xTitleId, Type:=8)
    If startRange Is Nothing Then Exit Sub
    
    Set endRange = Application.InputBox("Select the range for End Time:", xTitleId, Type:=8)
    If endRange Is Nothing Then Exit Sub
    
    Set outputCell = Application.InputBox("Select the top-left cell for output results:", xTitleId, Type:=8)
    If outputCell Is Nothing Then Exit Sub
    
    On Error GoTo 0
    
    ' Check matching range sizes
    If startRange.Rows.Count <> endRange.Rows.Count Then
        MsgBox "The start and end time ranges must have the same number of rows.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    ' Loop through rows
    rowCount = startRange.Rows.Count
    For i = 1 To rowCount
        startTime = startRange.Cells(i, 1).Value
        endTime = endRange.Cells(i, 1).Value
        
        If IsNumeric(startTime) And IsNumeric(endTime) Then
            elapsedTime = CDbl(endTime) - CDbl(startTime)
            ' Handle next-day (cross-midnight) case
            If elapsedTime < 0 Then elapsedTime = elapsedTime + 1
            outputCell.Offset(i - 1, 0).Value = elapsedTime
            outputCell.Offset(i - 1, 0).NumberFormat = "[h]:mm:ss"
        Else
            outputCell.Offset(i - 1, 0).Value = "Invalid Time"
        End If
    Next i
    
    MsgBox "Elapsed times calculated successfully for " & rowCount & " rows.", vbInformation, xTitleId
End Sub

2. Fai clic sul pulsante Pulsante Eseguiper eseguire il codice. Ti verrà chiesto di selezionare la data e l’ora di inizio dell’intervallo di tempo, quella di fine e la cella in cui visualizzare il tempo trascorso. Il risultato verrà mostrato in formato orario.

Questo approccio VBA è particolarmente efficace quando si desidera personalizzare ulteriormente calcoli o formattazione e consente di risparmiare tempo con fogli di calcolo molto grandi.


Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

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.

ExcelWordOutlookTabsPowerPoint
  • 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