martedì 15 gennaio 2008

Calcoli con le date in Excel

L'altra settimana credo di aver fatto tribolare i miei studenti con il calcolo delle date in Excel. Mi pare un argomento interessante, che non può mancare tra quelli conosciuti da chi vuole usare bene Microsoft Excel. Prendiamo un esempio: nella cella A2 ho la data di emissione della fattura, supponiamo 10/11/2007. Nella cella B2 ho il numero di giorni previsti per il pagamento, supponiamo 90. Ora, vorrei ottenere in C2 la data di scadenza.

(Sto semplificando... non sempre la scadenza è in giorni, lo so. Ma intanto bisogna capire!)


Come è mai possibile sommare una data e un numero di giorni? Cioè come posso fare 10/11/2007 + 90?!? Mmm... mi pare un po'... impossibile? Qquando lo chiedo in aula, di solito le risposte sono: a) non si può fare; b) serve una funzione speciale; c) qualcuno mi dà la soluzione esatta :-)

In effetti il risultato si ottiene proprio facendo una semplice somma. Quindi in C2 basta scrivere =A2+B2 e così abbiamo la data di scadenza. Tutto bene. Ma voglio capire perché.

La ragione sta nel fatto che le date per Excel sono semplici numeri, visualizzati con il formato Data. Facciamo così: in A4 scriviamo 1. Bene. Ora con la cella selezionata, andiamo su Formato-Celle e impostiamo il formato Data (scegliete quello che volete, purché visualizzi giorno/mese/anno). Risultato? 01/01/1900. E come mai? Perché per Excel il giorno 1 è il primo gennaio del 1900. E così via con i giorni seguenti. Perciò l'operazione che abbiamo fatto prima corrisponde semplicemente a fare: 39396 + 90 che certamente Excel può calcolare. (39396 è il 10/11/2007). E questo è il primo passo.

Esistono anche le funzioni relative alle date, che potranno servirci. Per il momento vediamo una delle più semplici. In A10 scriviamo =Oggi()

Come risultato, avremo la data di oggi. Se salviamo la cartella di lavoro di Excel e la riapriamo domani, la data sarà aggiornata, cioè sarà sempre la data del giorno corrente (o meglio: la data che ha il vostro computer).

Tutto chiaro? Allora prossimamente torneremo sull'argomento e scopriremo come funzionano i calcoli con le ore e i minuti in Excel.

Buon lavoro!


PS Qualcuno sa come calcolare quanti giorni è vissuto dalla sua nascita a oggi, 15/01/2008? Potete rispondermi commentando il post :-)

9 commenti:

Anonimo ha detto...

Supponiamo che sia nato ieri (nella cella A1 scrivo 07/08/2008) per ottenere quanti giorni ho visssuto (1) nella cella A2 ( scriverò la seguente formula :
=oggi()-A1
impostando la cella dove desidero il risultato (A2) in formato generale.

Anonimo ha detto...

niente da fare..mi son letto tuto il tuo blog..ma niente...


ho delle data su un foglio
09/10/2008
03/11/2008
ecc ecc...
non me le riconosce come date....niente...niente...
anzi...ti diro'..alcune si..alcune no...
presumo che sia perche' io li abbia copiati da una query di access.....bho..
fatto sta che: cambiando formato, cella, copiando e incollando valore...niente..non riesco a farci gniente...ufff...
gentilmente se hai qualche idea fammi sapere..che sto sclerando :)
grazie
ciao

emanuele ha detto...

procedrei in questo modo. se scrivi le date in una nuova cartella di lavoro e fai i calcoli, funziona tutto? se tutto funziona, il problema è nei dati che prendi dalla query. domanda: come li prendi da Access? le query "internamente" usano il formato mm/gg/aaaa prima il mese, poi il giorno e poi l'anno. cio' giustificherebbe il motivo per cui in alcuni casi legge la data in altri no. altra osservazione: il contenuto della cella in excel è per caso preceduto dall'apostrofo: qualcosa come
'12/04/2008 ? l'apostrofo forza Excel ad applicare alla cella il formato Testo.
ancora: in access il tipo di dati del campo corrispondente è Data/Ora?
ancora: l'excel in cui lavori ha le impostazioni internazionali sull'italiano o sull'inglese?

Anonimo ha detto...

Buongiorno!

Concordo con la formula
=oggi()-A1
Con A1 = data di nascita
Bisogna ricordarsi di mettere il formato numero nella casella, però :)

Invece avrei un'altra domanda:
posso calcolare nello stesso modo "quanti mesi sono vissuto"?

(Tutto ciò perchè: Sto cercando di impostare un foglio excel sul calcolo dei mesi intercorrenti tra differenti date, per il calcolo della rispettiva competenza della quota di ammortamento di alcuni cespiti.)

emanuele ha detto...

domanda interessante. merita un post ad hoc. in questo momento non ho tempo di rispondere, ma lo faro' entro un paio di giorni max, ok?
non abbandonare il buon didaLGo! :-)

Anonimo ha detto...

Grazie Emanuele,

io non ho ancora trovato una soluzione purtroppo.
Anche se sei un po' fuori "tempo massimo", mi sarebbe utile :P

Saluti!

Domy ha detto...

ciao a tutti,
per essere precisi, prendiamo una data (nella cella A1 scrivo 07/08/2008) per ottenere:
- quanti giorni ho visssuto nella cella A2 scriverò la seguente formula =oggi()-A1 (impostando la cella dove desidero il risultato (A2) in formato generale.)
-per avere gli anni scriverò nella cella A3 la seguente formula =(oggi()-A1)/(365+6/24) (un anno è composto da 365 giorni e sei ore)
- per avere i mesi basta moltiplicare gli anni per 12
;-P

emanuele ha detto...

soluzione un po' elaborata, ma probabilmente funziona...
ti rimando al post che ho messo di recente, in cui ho fornito altre informazioni sui calcoli con le date, usando le opportune funzioni di Excel.
vedi http://didalgo.blogspot.com/2009/09/calcolare-i-mesi-in-excel.html

Anonimo ha detto...

E se ho la stessa cosa da fare ma senza dover calcolare il sabato e la domenica come faccio ?