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

Come si calcola la percentuale trascorsa tra due date in Excel?

AutoreXiaoyang Data di modifica

Quando si gestiscono progetti in corso o si monitora l’avanzamento di attività pianificate in Excel, è spesso necessario calcolare la percentuale della durata di un compito già trascorsa rispetto alla data odierna. Questo permette di valutare rapidamente se i progetti sono in anticipo, in linea con il piano o in ritardo, esprimendo il tempo trascorso come quota percentuale della durata totale prevista. Ad esempio, potresti avere un foglio di lavoro contenente attività, ciascuna con una data di inizio e una data di fine. Alla data odierna, vorrai sapere quale percentuale del periodo pianificato per ogni attività è già trascorsa. Questo tutorial ti illustrerà metodi pratici per ottenere questo risultato in Excel, ti mostrerà come automatizzare l’aggiornamento delle percentuali di avanzamento e come evidenziare visivamente le attività in base a tali risultati utilizzando la formattazione condizionale.

Lo screenshot seguente mostra un elenco di esempio di attività con una Data di inizio, una Data di fine e la percentuale di completamento calcolata desiderata:

calcola la percentuale tra due date


Calcolare la percentuale di completamento tra due date con una formula

Per calcolare la percentuale di completamento di un’attività tra due date, puoi utilizzare una formula basata sulle funzioni DATEDIF e OGGI di Excel. Questo approccio è ideale se gestisci un numero limitato di attività e il tuo set di dati non subisce aggiornamenti frequenti.

1. Inserisci la seguente formula in una cella vuota della riga in cui desideri visualizzare il risultato (ad esempio, nella cella)D2):

=(DATEDIF(B2,TODAY(),"d")+1)/(DATEDIF(B2,C2,"d")+1)

Spiegazione dei parametri:
B2 è la cella con la data di inizio dell’attività e C2 è la cella con la data di fine. OGGI() restituisce automaticamente la data odierna, quindi la formula calcola quanti giorni sono trascorsi dall’inizio dell’attività divisi per la durata totale pianificata.

2. Dopo aver inserito la formula, trascina il quadratino di riempimento verso il basso per applicarla a tutte le righe necessarie. In questo modo, ogni riga mostrerà automaticamente il completamento attuale dell’attività in base alla data odierna. L’esempio seguente illustra questa applicazione su diverse attività:

3. Seleziona tutte le celle calcolate. Vai alla scheda Home, quindi fai clic sul pulsante Stile percentuale nel gruppo Numero per visualizzare i valori come percentuali anziché decimali. Puoi regolare ulteriormente il numero di posizioni decimali utilizzando i pulsanti Aumenta decimali e Riduci decimali per ottenere la precisione desiderata.

formatta i valori delle celle in formato percentuale

Avvertenze: Questo approccio è estremamente flessibile, ma assicurati che tutte le celle contenenti date siano formattate come date effettive in Excel; in caso contrario, potresti incorrere in errori o ottenere valori errati.

Se desideri che i risultati vengano aggiornati automaticamente ogni giorno, OGGI()garantisce che, ogni volta che la cartella di lavoro viene ricalcolata o aperta, la percentuale rifletta l’avanzamento corrente. Tuttavia, fai attenzione: se utilizzi valori statici inseriti manualmente (invece di)OGGI()), dovrai aggiornare manualmente tali date man mano che il tempo passa.


Codice VBA – Automatizza il calcolo percentuale per un aggiornamento dinamico su righe e date

Se il tuo foglio di lavoro contiene numerose attività con data di inizio e data di fine definite, puoi utilizzare VBA per calcolare automaticamente la percentuale di avanzamento di ciascuna attività in base alla data odierna. Questo approccio è ideale per aggiornare dinamicamente lo stato di avanzamento su più righe, senza dover inserire manualmente formule di riempimento. La macro analizza ogni riga, confronta la data odierna con la data di inizio e la data di fine dell’attività e calcola il tempo trascorso come percentuale della durata totale. Il risultato viene quindi inserito in una colonna dedicata, offrendoti un’istantanea chiara e immediata dello stato di avanzamento di ogni attività.

1. Premi Alt + F11 per aprire l’editor di Microsoft Visual Basic, Applications. Nell’editor VBA, vai su Inserisci > Modulo per creare un nuovo modulo, quindi incolla il seguente codice:

Sub UpdateTaskCompletionPercent()
'Updated by Extendoffice 20250724
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim StartDateCol As String, EndDateCol As String, PercentCol As String
    Dim startDate As Variant, endDate As Variant, todayDate As Date
    Dim pct As Double
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = Application.ActiveSheet
    
    ' Adjust these column letters as needed
    StartDateCol = "B"
    EndDateCol = "C"
    PercentCol = "D"
    
    todayDate = Date
    lastRow = ws.Cells(ws.Rows.Count, StartDateCol).End(xlUp).Row
    
    For i = 2 To lastRow ' Skip header
        startDate = ws.Cells(i, StartDateCol).Value
        endDate = ws.Cells(i, EndDateCol).Value
        
        If IsDate(startDate) And IsDate(endDate) Then
            If endDate >= startDate Then
                If todayDate < startDate Then
                    pct = 0
                ElseIf todayDate >= endDate Then
                    pct = 1
                Else
                    pct = (todayDate - startDate + 1) / (endDate - startDate + 1)
                End If
                ws.Cells(i, PercentCol).Value = pct
                ws.Cells(i, PercentCol).NumberFormat = "0.00%"
            Else
                ws.Cells(i, PercentCol).Value = "Invalid dates"
            End If
        Else
            ws.Cells(i, PercentCol).Value = "Date error"
        End If
    Next i
End Sub

2. Dopo aver inserito il codice, premi F5(o fai clic sul)Pulsante Esegui pulsante Esegui) per avviare lo script. Questa operazione batch riempirà immediatamente la colonna delle percentuali (D) per ogni riga in base alle date correnti.

Note e risoluzione dei problemi:

  • Se conservi i dati dei tuoi compiti in colonne diverse, modifica StartDateCol, EndDateCol e PercentCol nel codice in modo che corrispondano al layout del tuo foglio.
  • Se lo script visualizza «Errore data» o «Date non valide», controlla la presenza di righe vuote, voci con date errate oppure date di inizio e fine sovrapposte o non corrette.
  • Questo approccio garantisce che i tuoi calcoli percentuali restino sempre accurati e aggiornati per tutti i compiti, in particolare dopo modifiche massicce dei dati o quando importi informazioni da altre fonti.

Questa soluzione VBA è ideale per preparazioni ricorrenti di dati e report automatizzati, dove la copia manuale delle formule risulterebbe inefficiente.



Altri articoli correlati alle percentuali:

  • Calcolare il prezzo originale dallo sconto percentuale
  • Di solito, nella vita quotidiana, alcuni prodotti vengono scontati nei centri commerciali. Se si conoscono il prezzo scontato e la percentuale di sconto, come illustrato nello screenshot seguente, come si calcola il prezzo originale di quel prodotto in Excel?
  • Calcolare la percentuale dell’anno o del mese trascorsa
  • Supponiamo che tu abbia un elenco di date in un foglio di lavoro e che ora tu voglia calcolare la percentuale dell’anno o del mese già trascorsa o ancora residua in base a ciascuna data specificata. Come puoi portare a termine questo compito in Excel?
  • Usare CONTA.SE per calcolare la percentuale in Excel
  • Ad esempio, ho un rapporto riassuntivo di un articolo di ricerca con tre opzioni: A, B e C. Ora voglio calcolare la percentuale di ciascuna di queste opzioni — in altre parole, capire che quota percentuale rappresenta l’opzione A rispetto al totale. In questo articolo ti mostrerò come ottenere la percentuale di un’opzione specifica all’interno di un intervallo.

  • Super Barra delle formule (modifica facilmente più righe di testo e formule); Layout di lettura (leggi e modifica con facilità un gran numero di celle); Incolla in Intervallo di filtro...
  • Unisci celle/righe/colonne e conserva i dati; dividi il contenuto delle celle; combina righe duplicate e calcola somma/media…; previeni voci duplicate; confronta intervalli
  • Seleziona duplicati o valori univoci nelle righe; Seleziona righe vuote (tutte le celle sono vuote); Super Trova e ricerca fuzzy in molte cartelle di lavoro; selezione casuale…
  • Copia esatta di celle multiple senza modificare i riferimenti delle formule; creazione automatica di riferimenti a più fogli; inserisci punti elenco, caselle di controllo e molto altro...
  • Formule preferite e inserimento rapido, intervalli, grafici e immagini; crittografa le celle con password; crea un elenco di invio e invia email...
  • Estrai testo, aggiungi testo, rimuovi caratteri da una posizione specifica, elimina spazi; crea e stampa statistiche dei dati della pagina; converti il contenuto delle celle in commenti e viceversa...
  • Super Filtri (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese, settimana, giorno, frequenza e molto altro; Filtro speciale per grassetto, corsivo…
  • Combina cartelle e fogli di lavoro; unisci tabelle in base a una colonna chiave; suddividi i dati in più fogli; converti in batch file xls, xlsx e PDF...
  • Raggruppa la tabella pivot per numero di settimana, giorno della settimana e altro ancora...Mostra le celle sbloccate e blocca la selezione con colori diversi;Evidenzia le celle contenenti formule o nomi...
kte tab 201905
  • 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 della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e riduci centinaia di clic del mouse ogni giorno!
officetab bottom