
Contratti in Scadenza? GIORNI Calcola i Giorni Rimasti, UNISCI.TESTO Costruisce l'Alert
Hai decine di contratti fornitori da monitorare? Con GIORNI calcoli i giorni alla scadenza, con UNISCI.TESTO generi alert pronti da inviare. Tutorial pratico.
Valentina gestisce i contratti fornitori di un'azienda di Torino. Quarantadue contratti attivi, ognuno con la sua data di scadenza. Il suo metodo attuale: aprire il file Excel ogni lunedì, scorrere le date una per una, calcolare mentalmente quanti giorni mancano, e scrivere a mano le email di rinnovo.
Ci vuole un'ora. E ogni tanto qualcosa sfugge.
Con due formule, questo processo si riduce a zero minuti — il foglio segnala da solo quali contratti stanno per scadere e genera i messaggi di alert pronti da copiare.
Vuoi il foglio già pronto? Scarica il Tracciatore Scadenze Contratti con GIORNI e UNISCI.TESTO già configurati, semaforo automatico e dashboard inclusi.

Il Problema: Decine di Date da Tenere d'Occhio
Il registro contratti di Valentina ha questa forma:
| Fornitore | Tipo Contratto | Data Inizio | Data Fine |
|---|---|---|---|
| Acme Srl | Fornitura IT | 01/04/2024 | 30/04/2026 |
| Beta SpA | Manutenzione | 15/06/2023 | 14/06/2026 |
| Gamma Sas | Pulizie | 01/01/2025 | 31/12/2025 |
| Delta Srl | Sicurezza | 01/03/2024 | 28/02/2027 |
Quarantadue righe così. Ogni settimana dovrebbe calcolare quanti giorni mancano alla scadenza di ogni contratto. E poi scrivere un riassunto per il responsabile: "Contratto Gamma Sas (Pulizie): scaduto il 31/12/2025. Contratto Acme Srl (Fornitura IT): scade tra 24 giorni."
Il problema si risolve in due passaggi:
- GIORNI → calcola i giorni esatti alla scadenza
- UNISCI.TESTO → assembla il messaggio di alert con tutti i dati

GIORNI: Conta i Giorni Esatti tra Due Date
GIORNI (in inglese DAYS) calcola la differenza in giorni tra due date. È la formula giusta per scadenze perché restituisce un numero esatto — non mesi approssimati, non anni con decimali: giorni precisi.
Sintassi:
=GIORNI(data_fine; data_inizio)data_fine= la data più recente (la scadenza del contratto)data_inizio= la data di partenza (di solito OGGI())
Attenzione all'ordine: data_fine viene prima, data_inizio dopo. Se inverti, ottieni un numero negativo. Diverso da DATA.DIFF che ha ordine opposto.
Esempi:
=GIORNI("30/04/2026"; OGGI()) → giorni che mancano al 30 aprile 2026
=GIORNI(C2; OGGI()) → giorni alla scadenza del contratto in C2
=GIORNI(OGGI(); C2) → giorni TRASCORSI dalla data in C2 (ordine invertito)Per il registro di Valentina:
Se la data di scadenza è in colonna D, in E2:
=GIORNI(D2; OGGI())Risultato: 24 (mancano 24 giorni alla scadenza del contratto Acme Srl).
Se il risultato è negativo, il contratto è già scaduto — e il valore assoluto indica da quanti giorni.
Aggiungi il semaforo con SE:
Un numero da solo non basta. Aggiungi uno stato leggibile in F2:
=SE(E2<0; "SCADUTO"; SE(E2<=30; "URGENTE"; SE(E2<=90; "ATTENZIONE"; "OK")))| Giorni rimasti | Stato |
|---|---|
< 0 | SCADUTO |
| 0-30 | URGENTE |
| 31-90 | ATTENZIONE |
> 90 | OK |
Tre livelli di allerta, leggibili a colpo d'occhio. Aggiungi la formattazione condizionale (rosso/arancio/verde) e il foglio diventa un vero sistema di monitoraggio.

UNISCI.TESTO: Assembla il Messaggio di Alert
UNISCI.TESTO (in inglese TEXTJOIN) unisce più valori in una stringa unica, con un separatore, ignorando le celle vuote se lo scegli. È diversa da CONCATENA perché può unire un intero intervallo in un colpo solo.
Sintassi:
=UNISCI.TESTO(separatore; ignora_vuote; testo1; [testo2]; ...)separatore= il carattere (o stringa) che mette tra i valoriignora_vuote= VERO per saltare le celle vuote, FALSO per includerletesto1, testo2...= i valori da unire (possono essere intervalli interi)
Esempi:
=UNISCI.TESTO(", "; VERO; A2:A10)
→ "Acme Srl, Beta SpA, Gamma Sas" (solo le celle non vuote)
=UNISCI.TESTO(" | "; VERO; A2; B2; C2)
→ "Acme Srl | Fornitura IT | 30/04/2026"
=UNISCI.TESTO(" - "; FALSO; "Fornitore:"; A2)
→ "Fornitore: - Acme Srl" ← nota: include il trattino anche se va tra due valori fissiCostruisci il messaggio di alert:
Il messaggio che Valentina vuole generare è:
"Acme Srl (Fornitura IT): scade tra 24 giorni — URGENTE"
In G2, con fornitore in A2, tipo in B2, giorni in E2 e stato in F2:
=UNISCI.TESTO(""; VERO; A2; " ("; B2; "): scade tra "; E2; " giorni — "; F2)Risultato: Acme Srl (Fornitura IT): scade tra 24 giorni — URGENTE
Trascina verso il basso per tutti i 42 contratti. In colonna G hai i messaggi pronti da copiare.
Il Combo: Dashboard di Allerta Contratti
Metti insieme GIORNI, SE e UNISCI.TESTO per costruire un foglio di monitoraggio completo.
Struttura del foglio:
| Col | Contenuto | Formula |
|---|---|---|
| A | Fornitore | (dato) |
| B | Tipo contratto | (dato) |
| C | Data inizio | (dato) |
| D | Data scadenza | (dato) |
| E | Giorni rimasti | =GIORNI(D2;OGGI()) |
| F | Stato | =SE(E2<0;"SCADUTO";SE(E2<=30;"URGENTE";SE(E2<=90;"ATTENZIONE";"OK"))) |
| G | Messaggio alert | =UNISCI.TESTO("";VERO;A2;" (";B2;"): ";SE(E2<0;"scaduto da ";SE(E2=0;"scade oggi! — ";UNISCI.TESTO("";VERO;"scade tra ";E2;" giorni — ")));SE(E2<0;ABS(E2)&" giorni — ";"");F2) |
Versione richiesta: UNISCI.TESTO è disponibile da Excel 2019 e Excel 365. Su Excel 2016 o precedenti usa CONCATENA o l'operatore &. Le formule con FILTRO e ORDINA in questa sezione richiedono Excel 365.
Nota: la formula in G è volutamente semplificata per chiarezza. Nella sezione Premium vediamo come gestire anche i casi "scade oggi" e "già scaduto" con un testo diverso.
Versione semplificata (per iniziare):
In G2:
=UNISCI.TESTO(""; VERO; A2; " ("; B2; "): scade tra "; E2; " giorni — "; F2)Funziona perfettamente per i contratti ancora attivi. Per gestire i contratti scaduti con un testo diverso, aggiunge una virgola SE intorno al messaggio giorni.
Il riepilogo finale — UNISCI.TESTO su tutti i contratti critici:
Vuoi una cella con il riepilogo di tutti i contratti URGENTI da inviare al responsabile?
Supponi di avere i messaggi in G2:G50. In una cella a parte:
=UNISCI.TESTO(CAR(10); VERO; SE(E2:E50<=30; G2:G50; ""))CAR(10) è il carattere di ritorno a capo — ogni contratto va su una nuova riga. SE(E2:E50<=30; G2:G50; "") filtra solo i contratti con meno di 30 giorni alla scadenza.
Risultato: una cella multi-riga con tutti i contratti urgenti, pronta da copiare in un'email.
Gli Errori da Non Fare
1. Ordine invertito in GIORNI
=GIORNI(OGGI(); D2) ← giorni TRASCORSI (passato positivo, futuro negativo)
=GIORNI(D2; OGGI()) ← giorni RIMANENTI (futuro positivo, passato negativo)Entrambi sono corretti — ma danno risultati opposti. Decidi quale logica vuoi e usa quella coerentemente in tutto il foglio.
2. UNISCI.TESTO con numeri non formattati
Quando includi un numero in UNISCI.TESTO, Excel lo usa come numero grezzo:
=UNISCI.TESTO(""; VERO; "Scade il "; D2)
→ "Scade il 46385" ← numero seriale della data, non la data leggibile!Per ottenere la data formattata, avvolgi con TESTO:
=UNISCI.TESTO(""; VERO; "Scade il "; TESTO(D2; "GG/MM/AAAA"))
→ "Scade il 30/04/2026"3. GIORNI restituisce un errore #VALORE!
Succede quando la cella della data contiene testo invece di una vera data Excel. Controlla che le date siano inserite come date (non come "30/04/2026" in formato testo). Soluzione rapida:
=SE(VAL.DATA(D2); GIORNI(D2; OGGI()); "Data non valida")4. Confondere GIORNI con DATA.DIFF
GIORNI(fine; inizio) → fine - inizio in giorni, accetta date passate e future, restituisce negativo se fine < inizio
DATA.DIFF(inizio; fine; "d") → stesso risultato ma con ordine INVERTITO degli argomenti e non accetta scambi
In un foglio di monitoraggio scadenze, GIORNI è più intuitivo perché puoi mettere la data di scadenza come primo argomento.
Tecniche Avanzate: Messaggi Intelligenti e Dashboard Dinamica
Messaggio contestuale: testo diverso per scaduto vs futuro
La formula base in G2 mostra "scade tra -15 giorni" per i contratti scaduti. Migliora il messaggio così:
=UNISCI.TESTO(""; VERO;
A2; " ("; B2; "): ";
SE(E2<0;
"SCADUTO da " & ABS(E2) & " giorni",
SE(E2=0;
"scade OGGI",
"scade tra " & E2 & " giorni — " & F2
)
)
)Risultati:
- Se scaduto:
Gamma Sas (Pulizie): SCADUTO da 96 giorni - Se scade oggi:
Beta SpA (Manutenzione): scade OGGI - Se futuro:
Acme Srl (Fornitura IT): scade tra 24 giorni — URGENTE
Lista priorità con ORDINA + FILTRO
Mostra automaticamente i 5 contratti più urgenti in ordine crescente di giorni rimasti:
=ORDINA(
FILTRO(A2:G50; (E2:E50>=0)*(E2:E50<=90));
5; 1
)Dove la colonna 5 (E) contiene i giorni rimasti. Questo crea una tabella dinamica con solo i contratti critici, ordinati dal più urgente.
Riepilogo per email con UNISCI.TESTO a cascata
Per un'email con i contratti urgenti ordinati per scadenza:
=UNISCI.TESTO(CAR(10); VERO;
SE(ORDINA(FILTRO(E2:E50;E2:E50<=30);1;1)<=30;
ORDINA(FILTRO(G2:G50;E2:E50<=30);
ORDINA(FILTRO(E2:E50;E2:E50<=30);1;1); 1);
"")
)Questo filtra i contratti in scadenza entro 30 giorni, li ordina per urgenza e li concatena in un unico blocco di testo, separato da ritorni a capo. Copia e incolla direttamente in un'email.
Semaforo con GESTEP (alternativa professionale)
Invece di SE annidati, GESTEP restituisce 1 se il valore supera una soglia, 0 altrimenti. Usa il risultato per costruire un semaforo visivo con caratteri:
=UNISCI.TESTO(""; VERO;
SCEGLI(GESTEP(E2;90)+GESTEP(E2;30)+GESTEP(E2;0)+1;
"SCADUTO"; "URGENTE"; "ATTENZIONE"; "OK")
)GESTEP(E2;0) = 1 se E2 >= 0 (non scaduto)
GESTEP(E2;30) = 1 se E2 >= 30 (oltre 30 giorni)
GESTEP(E2;90) = 1 se E2 >= 90 (oltre 90 giorni)
La somma 0/1/2/3 diventa l'indice per SCEGLI: 1=SCADUTO, 2=URGENTE, 3=ATTENZIONE, 4=OK.
Calcolo automatico della data di reminder
Vuoi ricevere un avviso 30 giorni prima della scadenza? Aggiungi una colonna "Data Reminder":
=DATA.MESE(D2; -1)Sottrae un mese dalla data di scadenza. Combina con GIORNI per sapere quanti giorni mancano al reminder:
=GIORNI(DATA.MESE(D2; -1); OGGI())Se il risultato è negativo significa che la finestra di reminder è già aperta — devi contattare il fornitore ora.
Sign in to continue reading
This is premium content. Sign in to your account to access the full content.
Approfondisci:
- Scarica il Tracciatore Scadenze Contratti — semaforo e dashboard già pronti
- Formule Data in Excel: OGGI, DATA.DIFF, FINE.MESE e non solo — le altre formule data per il monitoraggio
- SE Annidati e Alternative: PIU.SE, SWITCH, SCEGLI — come costruire semafori multi-livello
- Chiedi all'Assistente AI — hai contratti con rinnovo automatico o date ricorrenti? L'AI ti aiuta ad adattare le formule
Author

More Posts

Il Foglio che Non Si Rompe Mai: Come NON e VAL.VUOTO Bloccano gli Errori Prima che Succedano
VAL.VUOTO individua le celle vuote, NON inverte la condizione. Insieme proteggono i tuoi calcoli da dati mancanti con una formula sola.


Scorciatoie da Tastiera Excel che Usi Davvero Ogni Giorno
Le scorciatoie da tastiera Excel piu utili per chi lavora in italiano, con attenzione alla tastiera italiana e ai casi che fanno risparmiare piu tempo reale.


Previsioni Vendite per Prodotto in Excel: UNICI Separa i Prodotti, PREVISIONE.LINEARE Stima il Futuro
Hai mesi di dati vendite mescolati? Con UNICI estrai i prodotti in un click, con PREVISIONE.LINEARE proietti le vendite future. Tutorial pratico.

Newsletter
Join the community
Subscribe to our newsletter for the latest news and updates