Vuoi far saltare all’occhio le attività in ritardo senza aggiornare nulla a mano? Con una singola regola di formattazione condizionale in Excel puoi colorare le scadenze già superate solo se non sono ancora “Complete”, mantenendo il foglio sempre aggiornato rispetto ad oggi.
Scenario e prerequisiti
Hai un foglio con tre colonne:
- A — Requested: la data di richiesta inserita dall’utente (es.
2025-09-15
). - B — Due: calcolata automaticamente 14 giorni dopo con la formula:
=IF(A2="","",A2+14)
- C — Complete: vuota finché il lavoro non è terminato; quando chiuso contiene
YES
(o comunque un testo).
Obiettivo: evidenziare (con un riempimento o un altro stile) solo le date in B che sono già scadute rispetto a oggi e per cui la colonna C è ancora vuota.
Soluzione minima: la formula della regola
Nella finestra Nuova regola di formattazione scegli “Utilizza una formula per determinare le celle da formattare” e inserisci, partendo dalla prima riga di dati (di solito riga 2), questa formula:
=AND($C2="", $B2<TODAY())
TODAY()
(con le parentesi) restituisce la data odierna.$C2=""
verifica che la cella di stato sia vuota (quindi non completata).$B2<TODAY()
verifica che la scadenza sia passata.
Imposta l’area di applicazione sul tuo intervallo (es. B2:B3500
) e scegli un formato (riempimento rosso tenue, grassetto, ecc.). Excel replicherà automaticamente la logica a tutte le righe successive.
Perché funziona
La regola usa riferimenti misti: la colonna è bloccata ($B
e $C
), la riga no. Così la riga 3 valuterà $C3
e $B3
, la riga 4 valuterà $C4
e $B4
e così via, senza dover creare più regole.
Versione robusta (consigliata)
A volte la colonna B contiene una stringa vuota (""
) prodotta dalla formula della scadenza quando A è vuota. In Excel una stringa vuota può comportarsi come zero, facendo risultare vera la condizione ""<TODAY()
e colorando righe che in realtà non hanno ancora una data. Per evitare falsi positivi usa questa variante, che controlla che B sia davvero una data:
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
La funzione ISNUMBER
(in molte interfacce italiane: VAL.NUMERO) assicura che B contenga un numero seriale di data valido.
Procedura passo‑passo in Excel
- Seleziona l’intervallo da evidenziare (ad es. B2:B3500). Se vuoi evidenziare l’intera riga, seleziona l’intero range dati (ad es. A2:C3500 — vedi sezione dedicata più avanti).
- Vai in Home > Formattazione condizionale > Nuova regola.
- Scegli Utilizza una formula per determinare le celle da formattare.
- Inserisci la formula (minima o robusta) riportata sopra, partendo dalla riga 2.
- Clicca su Formato… e imposta stile e colori (riempimento, testo in grassetto, eventualmente un bordo leggero).
- Conferma con OK fino a chiudere le finestre.
Se usi più regole (es. “scade oggi” o “in arrivo”), apri Gestisci regole e ordinale correttamente. Abilita Interrompi se vero (Stop If True) sulla regola “Scaduto” per evitare conflitti con le altre.
Variante: calcolare il ritardo direttamente dalla richiesta
Se preferisci non affidarti alla colonna B e vuoi calcolare il ritardo direttamente dalla data di richiesta in A, usa questa formula:
=AND($C2="", $A2<>"", $A2<TODAY()-14)
Anche qui aggiungiamo il controllo di non vuoto ($A2<>""
) per evitare che righe senza data vengano giudicate in ritardo. In alternativa alla verifica di non vuoto puoi usare:
=AND($C2="", ISNUMBER($A2), $A2<TODAY()-14)
Evidenziare l’intera riga (non solo la data)
Per colorare tutta la riga di una scadenza in ritardo:
- Seleziona l’intero blocco dati, ad esempio A2:C3500 (o quante colonne ti servono).
- Crea la regola con formula (versione robusta consigliata):
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
- Assicurati che nella formula i riferimenti di colonna B e C siano assoluti (con
$
) e che la riga sia relativa (senza$
), come nell’esempio. Così Excel valuterà correttamente ogni riga.
Weekend e giorni lavorativi
Se le tue scadenze contano solo i giorni lavorativi:
- Per calcolare la scadenza saltando sabato e domenica usa in B (al posto di
A2+14
):=IF(A2="","",WORKDAY($A2,14))
- Se hai weekend non standard (es. solo domenica) usa
WORKDAY.INTL
specificando il pattern di weekend, oppure festività in un intervallo dedicato. - Per evidenziare in base ai giorni lavorativi trascorsi senza usare B:
=AND($C2="", NETWORKDAYS($A2, TODAY())>14)
Nota: Le funzioni WORKDAY
e NETWORKDAYS
possono avere varianti .INTL
per personalizzare i giorni non lavorativi e includere un elenco di festività aziendali.
Gestire “Complete” con valori diversi
La condizione $C2=""
funziona bene quando la colonna C è realmente vuota finché il lavoro non è completato. Se però in C compaiono spazi, note o stati intermedi (“IN PROGRESS”, “HOLD”…), puoi usare:
- Vuoto reale o solo spazi:
=AND(LEN(TRIM($C2))=0, ISNUMBER($B2), $B2<TODAY())
- Considerare completata qualsiasi riga non vuota:
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
(formula base) oppure=AND(LEN($C2)=0, ISNUMBER($B2), $B2<TODAY())
Tre livelli di avviso (consigli di UX)
Molti team preferiscono distinguere tra scaduto, scade oggi e in scadenza a breve. Crea tre regole (in quest’ordine) e assegna colori diversi:
- Scaduto (rosso):
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
Attiva Interrompi se vero. - Scade oggi (arancione):
=AND($C2="", ISNUMBER($B2), $B2=TODAY())
- In arrivo (entro 3 giorni) (giallo):
=AND($C2="", ISNUMBER($B2), $B2>TODAY(), $B2<=TODAY()+3)
Se lavori con date/ore (timestamp) e vuoi considerare il tempo al minuto, sostituisci TODAY()
con NOW()
.
Prestazioni e ambito della regola
Per file di grandi dimensioni, evitare di applicare la regola a un’intera colonna (B:B
) se non necessario: meglio limitarsi al blocco effettivo (es. B2:B3500
). In alternativa:
- Trasforma l’elenco in Tabella (Ctrl+T): le regole applicate a una colonna della Tabella si estendono automaticamente alle nuove righe.
- Usa una colonna helper (es. Overdue?) con formula booleana
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
e crea una regola che verifica=$D2=TRUE
. È più trasparente e facile da manutenere.
Controllare formati e sistemi data
- Formato celle: assicurati che B sia formattata come Data. Se vedi numeri tipo
45208
, cambia stile in Data breve. - Calcolo automatico: File > Opzioni > Formule > Calcolo cartella di lavoro su Automatico, così
TODAY()
si aggiorna. - Sistema data: Excel usa un numero seriale; se importi dati da altre fonti, verifica che non siano testi (in quel caso
ISNUMBER
fallirà e la regola non scatta).
Conversione per interfacce italiane
Se la tua installazione di Excel è localizzata, potresti dover:
- sostituire le virgole con i punti e virgola (
;
) come separatore degli argomenti; - usare i nomi funzione tradotti. Ecco una mappatura rapida:
Inglese | Italiano | Note |
---|---|---|
IF | SE | Logica condizionale |
AND | E | Connettivo logico |
TODAY | OGGI | Data corrente (senza ora) |
NOW | ADESSO | Data e ora correnti |
ISNUMBER | VAL.NUMERO | Vero se la cella contiene un numero (date incluse) |
WORKDAY | GIORNO.LAVORATIVO | Usa .INTL per weekend personalizzati |
NETWORKDAYS | GIORNI.LAVORATIVI.TOT | Usa .INTL per weekend personalizzati |
Esempio (interfaccia italiana, separatore ;
):
=E($C2=""; VAL.NUMERO($B2); $B2<OGGI())
Gestione casi particolari
- Date future immesse per errore: la regola non evidenzierà nulla (corretto). Valuta una regola separata per segnalare date incoerenti (
$B2>TODAY()+365
). - Valori testo in B: la regola robusta li ignora; se vuoi evidenziarli come errore, crea una regola aggiuntiva
=AND($C2="",NOT(ISNUMBER($B2)),LEN($B2)>0)
con riempimento grigio. - Timestamp: usa
NOW()
al posto diTODAY()
se la scadenza è al minuto (es. 2025‑10‑06 15:30).
Esempio pratico
A — Requested | B — Due | C — Complete | Risultato atteso |
---|---|---|---|
2025-09-10 | =A2+14 → 2025-09-24 | Evidenziata (in ritardo) | |
2025-09-25 | =A3+14 → 2025-10-09 | Non evidenziata (non ancora scaduta) | |
2025-09-20 | =A4+14 → 2025-10-04 | YES | Non evidenziata (completata) |
=IF(A5=””,””,A5+14) → “” | Non evidenziata (nessuna data) |
Diagnostica rapida se “non funziona”
- Controlla l’anteprima in Home > Formattazione condizionale > Gestisci regole: l’intervallo Si applica a copre tutte le righe giuste?
- Verifica i riferimenti: in formula appaiono
$B2
e$C2
(colonna assoluta, riga relativa)? - Ispeziona i dati: in B ci sono testi o date formattate come testo? In caso, prova la formula con
ISNUMBER
. - Calcolo: la cartella è su Automatico? Premi F9 per forzare il ricalcolo.
- Ordine delle regole: se hai livelli multipli, metti “Scaduto” sopra e attiva Interrompi se vero.
Alternative utili
Regola unica senza usare la colonna B
Vuoi eliminare la dipendenza dalla colonna B? Ecco una formula diretta e solida:
=AND($C2="", ISNUMBER($A2), $A2<TODAY()-14)
Indicatore testuale del ritardo
Aggiungi una colonna ausiliaria (es. D — Status) con:
=IF($C2<>""; "Complete"; IF(ISNUMBER($B2); IF($B2<TODAY(); "Overdue"; IF($B2=TODAY(); "Due today"; "Upcoming")); "No date"))
Così puoi filtrare facilmente e collegare la formattazione condizionale a =$D2="Overdue"
.
Best practice operative
- Usa colori coerenti: Rosso per “Scaduto”, Arancione per “Oggi”, Giallo per “A breve”. Evita colori troppo saturi che disturbano la leggibilità del testo.
- Blocca le colonne chiave quando scorri (Visualizza > Blocca riquadri) per avere sempre sott’occhio Requested/Due/Complete.
- Proteggi le formule della colonna B (blocca celle e proteggi il foglio) per evitare che vengano sovrascritte.
- Definisci le festività in un elenco dedicato e passa quell’intervallo a
WORKDAY
/NETWORKDAYS
per calcolare scadenze realistiche.
Ricapitolando
Per evidenziare automaticamente solo le scadenze superate e non ancora completate, imposta una regola di formattazione condizionale con formula:
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
Applica la regola al range di date (o all’intera tabella, se vuoi colorare la riga) e scegli uno stile ben visibile. In alternativa, calcola il ritardo direttamente dalla A con =AND($C2="", ISNUMBER($A2), $A2<TODAY()-14)
. Con queste impostazioni le scadenze si “auto‑accendono” appena superano la data odierna, senza interventi manuali.
Appendice: guida rapida (copiabile)
Regola minima (colonna B)
=AND($C2="", $B2<TODAY())
Regola robusta (colonna B)
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
Regola alternativa (solo colonna A)
=AND($C2="", ISNUMBER($A2), $A2<TODAY()-14)
Tre livelli
=AND($C2="", ISNUMBER($B2), $B2<TODAY())
=AND($C2="", ISNUMBER($B2), $B2=TODAY())
=AND($C2="", ISNUMBER($B2), $B2>TODAY(), $B2<=TODAY()+3)
Suggerimento finale: se il tuo Excel usa i nomi funzione italiani e il separatore ;
, converti le formule così: =E($C2=""; VAL.NUMERO($B2); $B2<OGGI())
. Il principio non cambia.