Come calcolare la percentuale tra due date in Excel?
Quando si gestiscono progetti in corso o si monitora l'avanzamento delle attività pianificate in Excel, è spesso necessario calcolare quale parte della durata di un'attività sia trascorsa in base alla data odierna. Questo ti permette di valutare se i progetti sono in anticipo, in linea o in ritardo rispetto alla tabella di marcia, esprimendo il tempo trascorso come percentuale della durata totale pianificata. Ad esempio, potresti avere un foglio di lavoro con attività, ognuna con le proprie date di inizio e fine. Vorrai sapere, a partire da oggi, quale percentuale del periodo pianificato per ciascuna attività è passata. Questa guida ti illustrerà metodi pratici per raggiungere questo obiettivo in Excel, delineando modi per automatizzare l'aggiornamento delle percentuali di avanzamento e mostrando come evidenziare visivamente le attività basandoti su questi risultati utilizzando la formattazione condizionale.
La seguente schermata mostra un elenco di attività di esempio con una data di inizio, una data di fine e la percentuale di completamento calcolata desiderata:
- Calcola la percentuale di completamento tra due date con una formula
- Codice VBA – Automatizza il calcolo della percentuale per aggiornamenti dinamici su righe e date
Calcola 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 TODAY di Excel. Questo approccio è adatto quando hai un numero limitato di attività e il tuo set di dati non cambia frequentemente.
1. Inserisci la seguente formula in una cella vuota nella riga dove vuoi vedere 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. TODAY() restituisce automaticamente la data odierna, quindi la formula calcola quanti giorni sono passati dall'inizio dell'attività, divisi per la lunghezza totale pianificata dell'attività.
2. Dopo aver inserito la formula, trascina la maniglia di riempimento verso il basso per copiare la formula per tutte le righe necessarie. Ogni riga mostrerà quindi il completamento corrente dell'attività in base alla data odierna. L'esempio seguente dimostra questo applicato a 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 ulteriormente regolare il numero di posizioni decimali utilizzando i pulsanti Aumenta Decimali e Diminuisci Decimali per ottenere la precisione desiderata.
Attenzione: Questo approccio è molto flessibile, ma devi assicurarti che tutte le celle delle date siano formattate come date effettive in Excel; altrimenti, potrebbero verificarsi errori o valori errati.
Se desideri che i risultati si aggiornino automaticamente ogni giorno, TODAY() garantisce che ogni volta che la cartella di lavoro viene ricalcolata o aperta, la percentuale rifletta l'avanzamento corrente. Tuttavia, tieni presente che se fai riferimento a valori statici inseriti manualmente (invece di TODAY()), dovrai aggiornare manualmente quelle date man mano che il tempo passa.
Codice VBA – Automatizza il calcolo della percentuale per aggiornamenti dinamici su righe e date
Se il tuo foglio di lavoro contiene molte attività con date di inizio e fine definite, puoi utilizzare VBA per calcolare automaticamente la percentuale di avanzamento per ciascuna attività in base alla data odierna. Questo metodo è utile quando vuoi aggiornare dinamicamente l'avanzamento delle attività attraverso le righe senza dover inserire manualmente le formule. La macro scorre ogni riga, confronta la data odierna con le date di inizio e fine delle attività e calcola il tempo trascorso come percentuale della durata totale. Il risultato viene poi inserito in una colonna di destinazione, fornendo una panoramica rapida del livello di avanzamento di ciascuna attività.
1. Premi Alt + F11 per aprire l'editor Microsoft Visual Basic for Applications. Nell'editor VBA, vai su Inserisci > Modulo per creare un nuovo modulo, quindi incolla il seguente codice al suo interno:
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) per eseguire lo script. Questa operazione batch compilerà immediatamente la colonna delle percentuali (D) per ogni riga in base alle date attuali.
Note e risoluzione dei problemi:
- Se i tuoi dati delle attività si trovano in colonne diverse, regola
StartDateCol
,EndDateCol
ePercentCol
nel codice per adattarli al layout del tuo foglio. - Se lo script visualizza "Errore data" o "Date non valide", controlla la presenza di righe vuote, voci di data errate o date di inizio/fine sovrapposte/errate.
- Questo approccio garantisce che i calcoli delle percentuali rimangano accurati e aggiornati per tutte le attività, specialmente dopo modifiche massive ai dati o quando si importa da altre fonti.
Questa soluzione VBA è pratica per preparazioni dati ricorrenti e report automatizzati dove copiare manualmente le formule sarebbe inefficiente.
Altri articoli relativi alla percentuale:
- Calcola il prezzo originale dallo sconto percentuale
- Di solito, nella nostra vita quotidiana, ci sono alcuni prodotti che sono scontati nei centri commerciali. Se hai il prezzo scontato e la percentuale di sconto come mostrato nello screenshot seguente, come potresti calcolare il prezzo originale di quel prodotto in Excel?
- Calcola la percentuale dell'anno o del mese trascorsi
- Supponiamo di avere un elenco di date in un foglio di lavoro, ora vorresti ottenere la percentuale dell'anno o del mese che è trascorsa o rimanente in base alla data specificata. Come potresti risolvere questo problema in Excel?
- Calcola la percentuale di Sì e No da un elenco
- Come potresti calcolare la percentuale di testo Sì e No da un elenco di celle di intervallo in un foglio di lavoro Excel? Forse questo articolo ti aiuterà a gestire il compito.
- Crea un grafico con entrambi la percentuale e il valore
- È facile per noi aggiungere la percentuale o il valore all'istogramma o al grafico a barre, ma hai mai provato a creare un istogramma o un grafico a barre con entrambi la percentuale e il valore visualizzati in Excel?
- Conteggio per calcolare la percentuale in Excel
- Ad esempio, ho un rapporto di sintesi di un documento di ricerca, e ci sono tre opzioni A, B, C, ora voglio calcolare la percentuale di ciascuna di queste tre opzioni. Vale a dire, ho bisogno di sapere quanto l'opzione A rappresenta la percentuale di tutte le opzioni. In questo articolo, parlerò di come ottenere la percentuale di una specifica opzione in un intervallo.
I migliori strumenti per la produttività di Office
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
- Barra delle formule super (modifica facilmente più righe di testo e formule); Layout di lettura (leggi ed edita facilmente un gran numero di celle); Incolla in un intervallo filtrato...
- Unisci celle/righe/colonne mantenendo i dati; Dividi il contenuto delle celle; Combina righe duplicate e somma/media... Prevenire celle duplicate; Confronta intervalli...
- Seleziona righe duplicate o uniche; Seleziona righe vuote (tutte le celle sono vuote); Super Trova e Trova approssimativa in molte cartelle di lavoro; Selezione casuale...
- Copia esatta di più celle senza cambiare il riferimento della formula; Crea automaticamente riferimenti a più fogli; Inserisci punti elenco, caselle di controllo e altro...
- Preferiti e inserimento rapido di formule, intervalli, grafici e immagini; Crittografa celle con password; Crea elenco di invio e invia email...
- Estrai testo, aggiungi testo, rimuovi caratteri in una posizione specifica, rimuovi spazio; Crea e stampa statistiche pagina dati; Converti tra contenuto delle celle e commenti...
- Super Filtri (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese/settimana/giorno, frequenza e altro; Filtro speciale per grassetto, corsivo...
- Unisci cartelle di lavoro e fogli di lavoro; Unisci tabelle basandoti su colonne chiave; Suddividi dati in più fogli; Conversione batch di xls, xlsx e PDF...
- Raggruppamento tabella pivot per numero di settimana, giorno della settimana e altro... Mostra celle sbloccate, celle bloccate con colori diversi; Evidenziazione celle che hanno formula/nome...

- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea documenti multipli in nuove schede della stessa finestra, anziché in nuove finestre.
- Aumenta la tua produttività del 50%, e riduce centinaia di clic del mouse ogni giorno!
