Funzione Razndat () - calcola la differenza di due date in giorni, mesi, anni in ms excel. La differenza tra le date in excel è calcolata dalla funzione razndat Calcola la differenza tra le date

MS Excel ha una caratteristica estremamente interessante che poche persone conoscono. Così poco che questa funzione in Excel non fornisce nemmeno suggerimenti contestuali durante la digitazione, anche se, stranamente, nella guida del programma è presente ed è descritta abbastanza bene. È chiamato DATATO () o DATADIF () e serve a calcolare automaticamente la differenza in giorni, mesi o anni tra due date specificate.

Non suona bene? In effetti, a volte la capacità di calcolare in modo rapido e preciso quanto tempo è trascorso da un evento è molto utile. Quanti mesi sono trascorsi dal tuo compleanno, da quanto tempo sei stato seduto in pantaloni in questo posto di lavoro o da quanti giorni sei stato a dieta - ma ci sono molti usi di questa utile funzione? E, soprattutto, il conteggio può essere automatizzato e ogni volta che apri una cartella di lavoro di MS Excel, puoi ricevere dati precisi per oggi! Sembra interessante, vero?

La funzione DATEDIT() accetta tre argomenti:

  • Data d'inizio- la data a partire dalla quale il conto è tenuto
  • Data finale- a cui è tenuto il conto
  • unità di misura- giorni, mesi, anni.

Si scrive così:

= DATEDATE (data di inizio; data di fine; unità di misura)

Le unità di misura si scrivono come:

  • "Y"- differenza di data in anni interi
  • "M"- differenza di data in mesi interi
  • "D"- differenza di data in giorni interi
  • "Yd"- la differenza di date in giorni dall'inizio dell'anno, anni esclusi
  • "Md"- la differenza di date in giorni, esclusi mesi e anni
  • "Ym"- la differenza di date in mesi interi esclusi gli anni

In altre parole, per calcolare la mia età totale in anni al momento attuale, scrivo la funzione come:

= RAZDAT (14/07/1984; 22/03/2016; "y")

Si noti che l'ultimo argomento è sempre racchiuso tra virgolette.

Se voglio ottenere l'età esatta, scriverò una formula complicata:

= DATEDIF (F2; G2; "y") & "anno" & DATEDIF (F2; G2; "ym") & "mesi"

In cui la funzione RAZDAT() viene chiamata due volte contemporaneamente, con significati diversi, e le parole "anno" e "mesi" vengono semplicemente agganciate al risultato. Cioè, la vera potenza della funzione appare solo quando è combinata con altre funzionalità di MS Excel.

Un'altra opzione interessante è aggiungere alla funzione un contatore che si muove giornalmente rispetto alla data odierna. Ad esempio, se decido di scrivere una formula che calcola il numero di giorni che mancano alla mia vacanza in una forma standard, sarà simile a questa:

E tutto sarebbe corretto se, aprendo questo foglio una settimana dopo, vedessi che il numero di giorni prima della vacanza è diminuito. Tuttavia, vedrò lo stesso numero: dopotutto, le date originali non sono cambiate. Di conseguenza, dovrei cambiare la data corrente e quindi la funzione DATEDAT () farebbe tutto bene.

Per evitare questa piccola cosa fastidiosa, al primo argomento (il numero di oggi), sostituirò non un riferimento al valore memorizzato nella cella, ma un'altra funzione. Questa funzione è chiamata OGGI () e il suo compito principale e unico è restituire la data odierna.

Una volta, e il problema è risolto - d'ora in poi, ogni volta che apro questo foglio MS Excel, la funzione RAZDAT () mi mostrerà sempre il valore esatto calcolato tenendo conto della data odierna.

È stato creato un piano attività su un foglio di lavoro Excel. Una colonna elenca la data di scadenza per il completamento di ciascuna attività. Per evidenziare a colori le date bloccate dei compiti assegnati, abbiamo bisogno della differenza esatta tra le date in Excel. Per fare ciò, utilizzeremo la formattazione condizionale con la formula RAZDAT.

Come calcolare la differenza tra le date in Excel

È necessario evidenziare a colori i nomi degli incarichi per i quali il termine scade tra 7 giorni. Un esempio di tabella del piano delle attività:


L'effetto finale di evidenziare la fine delle date dopo 7 giorni:


Tutte le attività che devono essere completate in 7 giorni sono evidenziate in verde. Se modifichi i valori nella cella D2, verranno evidenziate altre attività.

Consigli utili! Nella cella D2, puoi utilizzare una funzione per ottenere la data odierna: = TODAY ().



Formula della differenza di data in Excel

La formula restituisce la differenza in giorni tra la data odierna e la data impostata. Per risolvere questo problema viene utilizzata la funzione RAZDAT in Excel: dove posso trovare questa formula?

Non troverai questa funzione nella procedura guidata delle funzioni e nemmeno nel pannello FORMULA. Deve essere sempre inserito manualmente. Il primo argomento di una funzione deve essere sempre la data più recente e il secondo sempre la data più vecchia. Il terzo argomento della funzione specifica l'unità di misura per la quantità restituita dalla funzione = DATEDIF(). In questo caso, è il simbolo "d" - giorni. Ciò significa che la funzione restituisce il numero di giorni. Questo è seguito dall'operatore<7. То есть формула проверяет, если функция возвращает число меньше чем 7, то формула возвращает значение ИСТИНА и к текущей ячейке применяется условное форматирование. Ссылки на ячейки в первом аргумент абсолютная (значение неизменяемое), а во втором аргументе – относительная, так как проверятся будут несколько ячеек в столбце C.

Se necessario, puoi aggiungere a questo intervallo una nuova regola di formattazione condizionale, che ci avviserà della scadenza del termine con 2 settimane di anticipo. Per fare ciò, è necessario aggiungere una nuova regola di formattazione condizionale per l'intervallo A2: A7 e modificare leggermente la formula nella nuova regola:


Il colore di formattazione per la seconda regola può essere impostato su giallo. 2 regole di formattazione condizionale devono essere applicate allo stesso intervallo. Per verificare, seleziona lo strumento: "HOME" - "Stili" - "Formattazione condizionale" - "Gestisci regole". Poiché per prima cosa eseguiamo la regola superiore, dovremmo cambiarne l'ordine nella finestra che appare: "Gestore delle regole di formattazione condizionale". In caso contrario, tutte le attività selezionate avranno un riempimento giallo nelle celle. Basta selezionare la prima regola e fare clic sul pulsante giù (CTRL + freccia giù) come mostrato in figura:


Di conseguenza, il piano ci avverte prima due settimane e poi una settimana prima della scadenza per il completamento delle attività:


Consigli utili! Se più regole sono assegnate allo stesso intervallo, osservare la gerarchia di priorità dell'ordine di esecuzione in Gestione regole. Più alta è la regola, maggiore è la sua priorità di esecuzione rispetto ad altre al di sotto di essa.

Utilizzare la funzione DATEDIF se si desidera calcolare la differenza tra due date. Innanzitutto, inserisci una data di inizio in una cella e una data di fine in un'altra. Immettere quindi una formula, come una delle seguenti.

Differenza in giorni

In questo esempio, la data di inizio è nella cella D9 e la data di fine è nella cella E9. La formula verrà mostrata in F9. "D" restituisce il numero di giorni interi tra due date.

Differenza in settimane


In questo esempio, la data di inizio è nella cella D13 e la data di fine è nella cella E13. "D" restituisce il numero di giorni. Ma nota che alla fine c'è /7 ... Questo divide il numero di giorni per 7 poiché ci sono 7 giorni alla settimana. Si noti che anche questo risultato deve essere formattato come numero. Premere CTRL + 1. Quindi fare clic numero _yt_ cifre decimali: 2.

Differenza in mesi


In questo esempio, la data di inizio è nella cella D5 e la data di fine è nella cella in basso. Nella formula "m" restituisce il numero di mesi completi tra due giorni.

Differenza in anni


In questo esempio, la data di inizio è nella cella D2 e ​​la data di fine è nella cella E2. "Y"

Calcolo dell'età in anni, mesi e giorni accumulati

1. Usa RAZDAT per trovare il numero totale di anni.


In questo esempio, la data di inizio è nella cella D17 e la data di fine è nella cella E17. Nella formula "y" restituisce il numero di anni completi tra due giorni.

2. Per trovare i mesi, utilizzare nuovamente RAZDAT, specificando "GM".


In un'altra cella, usa la formula RAZDAT con il parametro "GM"... GM restituisce il numero di mesi rimanenti dopo l'ultimo anno intero.

3. Utilizzare una formula diversa per trovare i giorni.


Ora devi trovare il numero di giorni rimanenti. Questo può essere fatto scrivendo un diverso tipo di formula, mostrato sopra. Questa formula sottrae il primo giorno di fine mese (01/05/2016) dalla data di fine originale nella cella E17 (6/5/2016). Ecco come si fa: in primo luogo, la funzione DATA crea la data 05/01/2016. Viene creato utilizzando l'anno nella cella E17 e il mese nella cella E17. 1 indica il primo giorno del mese. Il risultato della funzione DATA sarà il 05/01/2016. Quindi sottraiamo tale data dalla data di fine originale nella cella E17 (5/6/2016), ottenendo 5 giorni.

4. facoltativo: combina le tre formule in una.


Puoi inserire tutti e tre i calcoli in una cella, come mostrato in questo esempio. Uso di e commerciali, citazioni e testo. Questa è una formula di input più lunga, ma almeno è tutta in una di esse. Consigli. Premi Alt + Invio per inserire interruzioni di riga nella formula. Questo facilita la lettura. Inoltre, se non vedi l'intera formula, premi CTRL + MAIUSC + U.

Download di esempi

Puoi scaricare un campionario con tutti gli esempi forniti in questo articolo. Puoi iscriverti a loro o creare le tue formule.

Altri calcoli di data e ora

Calcolo tra oggi e un'altra data

Come mostrato sopra, la funzione DATEDIT calcola la differenza tra una data di inizio e una data di fine. Tuttavia, invece di inserire date specifiche, puoi anche utilizzare la funzione Oggi () nella formula. Quando si utilizza la funzione OGGI (), Excel utilizza la data corrente sul computer. Tieni presente che la riapertura del file in futuro cambierà questo file.


Calcolo dei giorni lavorativi con o senza ferie

Usa CLEANERDAYS. INTL se vuoi calcolare il numero di giorni lavorativi tra due date. Inoltre, puoi anche escludere i fine settimana e i giorni festivi.

Prima di iniziare, segui i passaggi seguenti. Decidi se vuoi escludere le date delle vacanze. In tal caso, inserire l'elenco delle date delle vacanze in un'area o un foglio separato. Ogni giorno delle vacanze è collocato in una cella separata. Quindi seleziona quelle celle e quindi seleziona formule _Gt_ assegnare nome... Assegna un nome all'intervallo micholiday e premere il pulsante ok... Quindi, crea la tua formula seguendo i passaggi seguenti.

1. Immettere la data di inizio e la data di fine.


In questo esempio, la data di inizio è nella cella D53 e la data di fine è nella cella E53.

2.in un'altra cella, inserisci la formula, ad esempio:


Immettere una formula come l'esempio sopra. L'1 nella formula definisce "sabato" e "domenica" come festivi e li esclude dal totale.

Nota. non ci sono GIORNI DELLA RETE in Excel 2007. INTER. Tuttavia, ha GIORNI PIÙ PULITI. L'esempio sopra sarebbe simile a questo in Excel 2007: = GIORNI DI PULIZIA (D53, E53)... Non si specifica 1, poiché PUREDAYS presuppone che il fine settimana sia sabato e domenica.

3.Se necessario, modificare il valore 1.


Se sabato e domenica non sono festivi, cambia 1 in qualcos'altro nell'elenco IntelliSense. Ad esempio, 2 set da domenica e dal lunedì al fine settimana.

Se stai usando Excel 2007, salta questo passaggio. La funzione NETWORKDAYS in Excel 2007 presuppone sempre che il fine settimana sia sabato e domenica.

4. Immettere un nome per l'intervallo festivo.


Se hai creato un nome per l'intervallo delle festività nella sezione Per iniziare sopra, inseriscilo alla fine, come mostrato di seguito. Se non hai ferie, puoi lasciare la virgola e Micholidays. Se stai usando Excel 2007, l'esempio sopra sarebbe simile a questo: = GIORNI PULITI (D53, E53, micholiday).

Piuma Se non vuoi fare riferimento al nome dell'intervallo delle festività, puoi anche inserire un intervallo, ad esempio D35: E: 39... In alternativa, puoi inserire ogni festività nella formula. Ad esempio, se le festività sono 1 e 2 gennaio 2016, inserirle come segue: = GIORNI PIÙ PULITI. Int (D53, E53, 1, ("1/1/2016", "2/1/2016"))... In Excel 2007, sarà simile a questo: = GIORNI RETE (G53, E53, ("1/1/2016", "1/2 . 2016"})

Calcolo del tempo trascorso

Per calcolare il tempo trascorso, puoi sottrarre una volta dall'altra. Immettere prima un'ora di inizio in una cella e un'ora di fine in un'altra. Assicurati che tutti i tempi, inclusi ore, minuti e spazi, siano completi. Antimeridiane o pomeridiane... Ecco cosa devi fare per questo:

1. Immettere l'ora di inizio e l'ora di fine.


In questo esempio, l'ora di inizio è nella cella D80 e l'ora di fine è nella cella E80. Assicurati di inserire ore, minuti e spazi prima di AM e PM.

2. Impostare il formato su h / PM.


Seleziona entrambe le date e premi CTRL + 1 (o + 1 su Mac). Assicurati che l'opzione sia selezionata costume _yt_ h / pm se non è già installato.

3. sottrazione di due valori.


In un'altra cella, sottrai la cella di inizio dalla cella dell'ora di fine.

4. Impostare il formato h.


Premi CTRL + 1 (o +1 su Mac). Selezionare " costume _yr_ "escludere i risultati" AM "e" PM "da esso.

Ecco un frammento di codice:

Richiesta = Nuova query ("SELEZIONA | SELEZIONA | QUANDO DIFFERENZA (& G1, AGGIUNGI (& G2, GIORNO, 1), GIORNO) - DIFFERENZA (INIZIO PERIODO (& G1, MESE), INIZIO PERIODO (AGGIUNGI E GIORNO) , GIORNO GIORNO)< 0 | ТОГДА ДЕНЬ(КОНЕЦПЕРИОДА(&Д1, МЕСЯЦ)) + РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ДЕНЬ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, МЕСЯЦ), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ), ДЕНЬ) | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ДЕНЬ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, МЕСЯЦ), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ), ДЕНЬ) | КОНЕЦ КАК Дни, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ДЕНЬ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, МЕСЯЦ), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ), ДЕНЬ) < 0 | ТОГДА ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) < 0 | ТОГДА 12 + РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | КОНЕЦ - 1 | ИНАЧЕ ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) < 0 | ТОГДА 12 + РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | КОНЕЦ | КОНЕЦ КАК Месяцы, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) < 0 | ТОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД) - 1 | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД) | КОНЕЦ КАК Годы"); Запрос.УстановитьПараметр("Д2",КонечнаяДата); Запрос.УстановитьПараметр("Д1",НачальнаяДата); ТабДМГ=Запрос.Выполнить().Выгрузить(); Стр = ТабДМГ; Сообщить("Разность дат составляет: "+Стр.Дни+" дней "+Стр.Месяцы+" месяцев "+Стр.Годы+" лет ");

Naturalmente, puoi anche aggiungere l'ortografia corretta di giorni, mesi e anni, a seconda del numero. Ma questo è un altro argomento.

Qui calcoliamo:

* per giorni- prendiamo il numero totale di giorni nell'intervallo e sottraiamo il numero di giorni già conteggiato, e questa è la differenza tra l'inizio dei nostri mesi dalle date. Questo numero sarà incluso nella riga del mese. Ma quando calcoliamo i giorni, controlliamo il numero di giorni ricevuti per la negatività. Se il numero di giorni è negativo, allora siamo passati al mese successivo, ma in realtà il mese tra le date non è ancora trascorso. Per tener conto di ciò, al numero negativo di giorni aggiungiamo il numero di giorni nel mese della prima data.

*per mesi- prendiamo anche il numero totale di mesi e sottraiamo il numero di mesi già presi in considerazione, e questa è la differenza tra l'inizio delle nostre gambe. Questo numero sarà preso in considerazione anche in linea con il calcolo dell'anno. Ma quando calcoliamo il mese, controlliamo anche il numero di mesi ricevuti per negatività. Se il numero di mesi è negativo, allora siamo passati al nuovo anno, ma in realtà l'anno tra le date non è ancora passato. Per tenere conto di ciò, aggiungiamo 12 mesi al numero negativo.

* per l'anno- prendiamo il numero di anni tra le date. Ma se il numero di mesi è negativo, sottraiamo un anno, perché non è ancora passato.

E aggiungo un giorno alla seconda data, perché. Ho bisogno che quest'ultimo giorno sia incluso nel calcolo.

In qualche modo così. Se hai domande - scrivi.