Formattazione condizionale: problema data di scadenza contenente testo

samuele agnolin
  • 1 luglio 2016
  • livello: intermedio   2 minuti
formattazione-condizionale-problema-data-di-scadenza-contenente-testo

Vogliamo colorare con la formattazione condizionale le date già scadute, quelle che sono superiori alla data odierna. Come fare se nella cella vi è il nome del prodotto oltre alla data?

Questo il punto di partenza:

data scandenza elenco iniziale

Questo il risultato da ottenere:

data scandenza risultato finale

Il problema sta nel fatto che non possiamo confrontare semplicemente la data di scadenza con la data odierna (funzione OGGI()). Dobbiamo prima estrarre la data, composta dai primi 10 caratteri, convertirla in formato numerico e poi confrontarla con OGGI().

Questi i passaggi necessari

 B  Selezioniamo le celle che vogliamo colorare

selezione celle da colorare

 B  Richiamiamo dalla scheda Home la formattazione condizionale, clicchiamo su “Nuova regola…”

nuova regola di formattazione

 C  Scegliamo l’ultima voce “utilizza una formula per determinare le celle da formattare”

utilizza una formula per determinare le celle da formattare

 D  Con il pulsante formato scegliamo il colore di riempimento da attribuire alle celle, nella regola scriviamo la seguente formula:

=SINISTRA($B3;10)*1 < OGGI()sinistra convertito in numero

La funzione SINISTRA estrae i primi 10 caratteri. Il “*1” trasforma il risultato testuale del SINISTRA in numero, confrontabile quindi con la data odierna richiamata con la funzione OGGI(). Se noi non convertissimo in numero otterremmo un risultato errato

La conversione in numero potrebbe essere fatta anche in altri modi:

=SINISTRA($B3;10)+0 < OGGI()

=–SINISTRA($B3;10) < OGGI()

Metodi descritti nell’articolo sulle conversioni da testo a numero.

Se ti è piaciuto questo articolo iscriviti alla newsletter. Riceverai così periodicamente una mail che ti avviserà rispetto ai nuovi contenuti del blog. :-)

20 Comments

You can post comments in this post.


  • Ciao,
    posso chiederti una cosa? Ho un problema nel fatto che se la base dati (che raccoglie i dati da una tabella access) aumenta/diminuisce di righe, la formattazione condizionale duplica le regola e va in tilt. Non riesco in nessun modo ad evitare che ciò accada …

    Matteo Vascotto 3 anni ago Reply


    • Ciao Matteo, ancora non hanno trovato una soluzione definitiva a questo problema noto.

      samuele 3 anni ago Reply


  • Buonasera egregio dott. amicoexcel,
    vorrei eseguire una formattazione condizionale ad una tabella con dei nomi e cognomi di donatori avis con le date di donazione in base alle quali vorrei che i nominativi da blu diventino rossi, trascorsi 90 o più gg dala data di ogni rispettivo donatore . Grazie

    Antonio Del Vecchio 3 anni ago Reply


    • Buongiorno Antonio. Prova a dare un’occhiata a questo articolo sulla formattazione condizionale. Il tuo caso è la forma semplificata di quanto descrivo in quell’articolo. Se poi non è chiaro come applicarlo al tuo caso mandami pure una mail.

      samuele 3 anni ago Reply


  • Salve dott.AmicoExcel volevo chiedere un informazione sulle date di scadenza…vorrei visualizzare le per ogni mese la propria scadenza.
    Es: Scadenza 21/01/2017 Colonna Mese Scadenze Gennaio.
    Grazie Mille
    Buona Serata

    LisaMorelli 2 anni ago Reply


    • Salve Lisa, grazie dell’originale “dott.AmicoExcel”…
      Utilizzerei la funzione MESE, che restituisce il numero corrispondente al mese. Quindi =MESE(B2).
      Poi per visualizzare il mese in lettere può usare due sistemi:
      – la funzione TESTO =TESTO(MESE(B2);”mmmm”)
      – formato cella, formato “Personalizzato” e mmmm nel formato

      samuele 2 anni ago Reply


  • Buongiorno,

    se ho già la data in formato numerico es (10/03/2020, e TIPO() mi restituisce 1) e voglio evidenziare le righe che alla colonna D hanno la data precedente a quella di oggi (cioè scadute) come posso fare? e se volessi evidenziare di rosse quelle scadute e di arancione quelle che stanno per scadere (ad esempio entro 7 giorni)

    grazie e buona giornata

    Cinzia 1 anno ago Reply


  • Ciao Samuele,avrei bisogno del tuo aiuto riguardo la colorazione di una cella e precisamente: se nella cella A1 ho la formula oggi() e nella colonna B le date di nascita delle persone è possibile far colorare le celle della colonna B quando il giorno e il mese corrispondono alla data di oggi?
    Grazie.

    Angelo 1 anno ago Reply


    • Ciao Angelo.
      Potresti utilizzare la funzione E all’interno della formattazione condizionale.
      Tipo =E(Mese(oggi())=Mese($B2);Giorno(oggi())=Giorno($B2)).

      Come riferimento, se credi, leggi https://www.amicoexcel.it/funzione-e/
      il paragrafo “Funzione E e formattazione condizionale”

      samuele 1 anno ago Reply


      • Ciao Samuele,intanto grazie per avermi risposto. Ho inserito la formula che mi hai suggerito,prima nel foglio dove mi restituisce come valore VERO o FALSO a seconda se la data combacia con il giorno e il mese, e poi nella formattazione condizionale mi colora la cella B2. Funziona. Se avrò ancora bisogno del tuo aiuto posso contattarti? Grazie.

        Angelo TIRONE 1 anno ago Reply


        • Grazie mille Angelo per il gentile feedback!
          Se posso aiutare… volentieri.

          samuele 1 anno ago Reply


  • salve sig.amico excel io ho bisogno del suo aiuto io utilizzo un programma di excel in cui ci sono 8 riferimenti a date con scandenze per caso esiste una formula che possa aiutarmi ? se si eventualmente invio il foglio cosi le spiego meglio grazie cordiali saluti

    GIUSEPPE ZANNIELLO 1 anno ago Reply


    • Buongiorno Giuseppe. Penso che all’interno della formattazione condizionale potresti usare funzioni che verificano più test, come E ed O.
      Manda pure… samuele@amicoexcel.it

      samuele 1 anno ago Reply


  • Buon giorno Samuele, ho due colonne con riportate le date di inizio e fine assicurazioni; vorrei evidenziare solo le date con scadenza dopo il 31/12/2019, come dovrei fare? Grazie in anticipo.

    Silvia 11 mesi ago Reply


    • Ciao Silvia.

      Farei così: Formattazione condizionale / Regole evidenziazione celle / Maggiore di… ed inserirei la data 31/12/2019

      samuele 11 mesi ago Reply


  • Buon Giorno , se volessi invece farle colorare in modo diverso gradualmeente e cioè man mano che si avvicina la scadenza passare prima dal verde poi giallo arnacione e rosso ? come si puo’ fare ?

    alessandro 10 mesi ago Reply


    • Buonasera Alessandro… si potrebbero creare 3 diverse regole… sottraendo in ciascuna un numero prestabilito di giorni ad OGGI()… direttamente nell’espressione della formattazione condizionale

      samuele 10 mesi ago Reply


  • Buongiorno, se volessi evidenziare l’avvicinarsi di una scadenza quinquennale come posso fare?
    Ho utilizzato questa formula =(DATA.MESE(D4;12*5))-OGGI()>20 in cui la cella dovrebbe diventare rossa nel momento in cui mancano 5 giorni alla scadenza; mentre con quest’altra formula E((DATA.MESE($D4;12*5))-OGGI()5) la cella dovrebbe diventare gialla se la data di scadenza è tra i 5-20 giorni; ma non funzionano.
    Mi puoi aiutare?
    Grazie mille

    veronica 3 mesi ago Reply


    • Buongiorno Veronica.
      Avrai risolto scrivendo nella formula della formattazione condizionale =D4=OGGI()-5 per colorare quando mancano 5 giorni, oppure =E(D4>=OGGI()-5;D4=OGGI()-20;D4<=OGGI())-5) per data tra 5 e 20

      samuele 3 mesi ago Reply


Inserisci un commento