• Controllare date passate con OpenOffice Calc

    date-confronto-300.jpg

    OpenOffice include al suo interno un comodissimo componente di calcolo, chiamato Calc. Questo pacchetto della suite office open source consente molte complesse operazioni, ma offre anche un semplice accesso a funzioni di base per eseguire calcoli sulle date. Usi tipici in questo contesto sono calendari lavorativi, programmi segnatempo, programmi di gestione agende personali, programmi per la gestione tornei ecc.

    Per automatizzare le operazioni di esecuzione di particolari routine in particolari date o eventi è necessario usare le funzioni di controllo sulle date. La più semplice funzione è quella che identifica in formato numerico/data l’esatta data odierna e è “Today()”. Inserendo in una cella qualunque di Calc la stringa “=today()” (senza virgolette) avremo come risposta la data attualmente impostata sul PC dove il programma viene eseguito (attenzione ad eventuali errori di data nell’orologio del vostro PC!).

    Una importante funzione è il confronto semplice e del tutto automatico fra due date che verranno trattate come se fossero dei valori numerici veri e propri, con valori tanto maggiori quanto più le date sono avanti nel tempo. Conoscendo la data attuale (ottenuta con today()) potremo quindi agevolmente fare un confronto diretto con una data prestabilita (ad esempio derivata da una lista di appuntamenti) e trarre delle conclusioni sull’evento, verificando ad esempio se è passato o futuro (rispetto alla data odierna).

    Per fare questo confronto basterà inserire in una apposita casella la formula di confronto ed esecuzione condizionata. Assumendo che la celletta B2 contenga una fra le date prestabilite nell’agenda, una semplice formula di confronto potrà essere scritta come:

    =IF(B2>TODAY();"No";"Si")

    Questa formula assegna “Si” alla casella corrispondente ad una data in cui l’evento (in B2) è già passato e “No” per un evento ancora da venire. Con questo semplice confronto saremo in grado di distinguere immediatamente fra eventi del passato ed eventi del futuro e potremo così far eseguire al nostro gestore di appuntamenti una azione opportuna. L’uso di azioni condizionate al verificarsi di eventi e dall’avvicinarsi di date consente inoltre di preprogrammare particolari colonne e lasciare la loro attivazione automatica ad una data predefinita, disseminando magari delle piccole uova di Pasqua nascoste nei nostri programmi Excel.

    Tags:

    Se vuoi aggiornamenti su Controllare date passate con OpenOffice Calc inserisci la tua e-mail nel box qui sotto:


    Ho letto e acconsento l'informativa sulla privacy

    Si No

    Acconsento al trattamento dei dati personali di cui al punto 3 dell'informativa sulla privacy

    Si No

    Commenti

    1. maibe dice:

      corregga il suo articolo: siamo in Italia, e le funzioni in ooCalc si scrivono in italiano, quindi =OGGI() e per l’esempio
      =IF(B2>TODAY();”No”;”Si”)
      dopvrà essere corretto in
      =SE(B2>OGGI();”No”;”Si”)
      Possibile che il sig Porcino prenda questi abbagli?? gli italiani che usano OpenOffice usano la versione in italiano.
      grazie
      maibe

    2. Demetrio Porcino dice:

      Gentile lettore Maibe,
      nel ringraziarla del suo commento voglio chiarire che:

      a) tutti gli esempi citati sono testati prima della pubblicazione sia con OO 3 che con OO 2 e funzionano alla perfezione. I file di esempio creati sono a disposizione per chi li richieda (mi mandi una email; lo strumento di blogging attuale non consente attachments).

      L’esempio riportato sopra funziona alla perfezione così come citato nel mio articolo e lo screenshot inserito è ripreso da OO 2.1 in Italiano (e naturalmente usa al suo interno today() !!!)

      b) Per dare un pò di informazione, vorrei ricordare a tutti i lettori che OpenOffice ha una funzionalità INTERNA che ‘adatta’ i nomi delle funzioni originali al ‘locale’ usato.

      Quando si apre un file, qualunque sia la lingua dell’OpenOffice usato, le funzioni interne originali (in lingua inglesi) saranno automaticamente interpretate al ‘locale’ del proprio OpenOffice.

      Provi a salvare l’esempio da me citato e riaprirlo nel suo OO italiano e vedrà che l’esempio funziona alla perfezione.

      Saluti

    3. maibe dice:

      al sig. Porcino: vorrei allegare l’immagine del foglio dove si nota che digitando la funzione =TODAY() la stessa non viene riconosciuta e nella cella appare l’errore #NOME?
      la versione del programma è la OO 3.0.1.3, versione multilingua, localizzata in italiano.
      Lei mi ha gentilmente risposto chiedendo di inviarle allegati al suo indirizzo email, ma dove lo trovo detto indirizzo?? non credo sia il noreply@oneblog.it mittente del messaggio da me ricevuto.
      grazie, maibe

    4. Demetrio Porcino dice:

      Maibe,
      a) il suggerimento che ho scritto sopra è di salvare il file con l’esempio da me citato (un qualunque file .ods contenente una simile formula come quella da me scritta) e aprirlo in OO qualunque versione essa sia. All’apertura del file OO fa il parsing delle funzioni e le interpreta al ‘locale’ della versione usata.

      b) Per contattare la redazione può inviare un messaggio attraverso il tastino Contatti. Se nel testo del suo messaggio inserisce un suo contatto email sarà poi mia cura fare arrivare in allegato a lei (o a qualunque lettore lo richieda) il file di esempio da me scritto per l’articolo e da cui ho fatto lo screenshot.

    5. vindigni3 dice:

      Al signor Porcino .. può modificare questa funzione di excel con OpenOffice?

      =SE(L70;INDIRETTO(INDIRIZZO(L7;1;;VERO();”foglio2″));”")

      In poche parole nel foglio2 nella colonna A ci sono una serie di nr crescenti;
      Nel foglio1 scrivendo nella casella L7 un numero (esempio: 77) nella casella adiacente M7 (dove vi é la funzione) mi deve comparire il nr che alla riga 77 del foglio2 colonna A c’é scritto.

      Spero di essere stato chiaro … saluti

    6. Gaetano dice:

      Come posso salvare automaticamente una data al momento della modifica del foglio stesso e non dell’intero file che lo contiene ?
      con adesso() o today() o info sulla data del PC e non della modifica del foglio..

    Commenta

    Your email address will not be published. Required fields are marked *