Rozdíl mezi dvěma daty: Funkce Datedif

Úvod do funkce DATEDIF

Funkce DATEDIF vypočítá rozdíl mezi dvěma daty v různých intervalech, například počet let, měsíců nebo dnů mezi daty. Tato funkce je k dispozici ve všech verzích aplikace Excel od nejméně verze 5/95, ale je popsána v souboru nápovědy pouze pro aplikaci Excel 2000. Z nějakého důvodu se společnost Microsoft rozhodla tuto funkci dokumentovat v žádné jiné verzi. DATEDIF je považován za opilého bratrance rodiny Formula. Excel ví, že žije šťastný a užitečný život, ale nebude o něm mluvit zdvořile. Nezaměňujte funkci listu DATEDIF s funkcí VBA DateDiff.

Syntaxe pro DATEDIF je následující:

= DATEDIF (datum1, datum2, interval)

Kde:

Datum1 je první datum,

Datum2 je druhé datum,

Interval je typ intervalu, který se má vrátit.

Pokud Date1 je pozdější než Date2, DATEDIF vrátí #NUM! chyba. Pokud Date1 nebo Date2 není platné datum, DATEDIF vrátí chybu #VALUE.

Hodnota Interval by měla být jedna

Interval Význam Popis

m Měsíce Kompletní kalendářní měsíce mezi daty.

d Dny Počet dnů mezi daty.

y Roky Kompletní kalendářní roky mezi daty.

ym Months Exclu Years Kompletní kalendářní měsíce mezi daty, jako kdyby byly ve stejném roce.

yd Dny bez let Kompletní kalendářní dny mezi daty, jako kdyby byly ve stejném roce.

md Days Bez let a měsíců Kompletní kalendářní dny mezi daty, jako kdyby byly stejného měsíce a stejného roku.

Pokud interval není jedna z položek uvedených výše, DATEDIF vrátí chybu #NUM.

Pokud vložíte řetězec Interval přímo do vzorce, musíte jej uzavřít do uvozovek:

= DATEDIF (Datum1, Datum2, "m")

Pokud máte interval v jiné buňce, na kterou odkazuje vzorec, tato buňka by neměla mít uvozovky kolem řetězce intervalu. Například se vzorcem

= DATEDIF (Datum1, Datum2, A1)

buňka A1 by neměla obsahovat „m“.

Potlačení komponent s nulovou hodnotou

V typickém použití pro výpočet počtu let, měsíců a dnů mezi dvěma daty byste použili vzorec, například následující, kde A1 je počáteční datum a B1 je datum ukončení:

= DATEDIF (A1, B1, "y") & "roky" & DATEDIF (A1, B1, "ym") & "měsíce" & DATEDIF (A1, B1, "md")

& "dny"

Tím se vrátí řetězec jako

12 let 8 měsíců 14 dní

Pokud je však počet let a / nebo měsíců 0, dostanete řetězec

0 let 0 měsíců 14 dní

0 let 3 měsíce 14 dní

Pokud chcete hodnoty 0 potlačit a vrátit výsledek, například

8 měsíců 14 dnů

nebo

14 dnů

kde nejsou zobrazeny komponenty s hodnotou 0, použijte vzorec jako je následující:

= IF (DATEDIF (A1, B1, "y") = 0, "", DATEDIF (A1, B1, "y") a "roky") & IF (DATEDIF (A1, B1, "ym") = 0, " ",

DATEDIF (A1, B1, "ym") & "month") & DATEDIF (A1, B1, "md") a "dny"

Zobrazí se pouze součásti data, jejichž hodnota je větší než 0. Hodnota dne bude vždy zobrazena, ale rok a / nebo hodnota měsíce může být potlačena.

Příklady

Následuje několik příkladů funkce DATEDIF.

Datum1: 1.-2007

Datum2: 10-Jan-2007

Interval: d

Výsledek: 9

Vysvětlení:

Mezi těmito dvěma termíny je 9, ne 10 kalendářních dnů.

Datum1: 1.-2007

Datum2: 31-Jan-2007

Interval: m

Výsledek: 0

Vysvětlení:

Mezi těmito dvěma termíny je celkem 0 kalendářních měsíců.

Datum1: 1.-2007

Datum2: 1.-2007

Interval: m

Výsledek: 1

Vysvětlení:

Mezi oběma termíny jsou 1 kompletní měsíce.

Datum1: 1.-2007

Datum2: 28-únor-2007

Interval: m

Výsledek: 1

Vysvětlení:

Mezi oběma termíny jsou 1 kompletní měsíce.

Datum1: 1.-2007

Datum2: 31-Dec-2007

Interval: d

Výsledek: 364

Vysvětlení:

Mezi těmito dvěma termíny je 364 dní.

Datum1: 1.-2007

Datum2: 31-Jan-2007

Interval: y

Výsledek: 0

Vysvětlení:

Mezi daty je 0 úplných let

Datum1: 1.-2007

Datum2: 1. červenec-2008

Interval: d

Výsledek: 547

Vysvětlení:

Mezi těmito dvěma termíny je 547 dní.

Datum1: 1.-2007

Datum2: 1. červenec-2008

Interval: m

Výsledek: 18

Vysvětlení:

Mezi těmito dvěma termíny je 18 měsíců.

Datum1: 1.-2007

Datum2: 1. červenec-2008

Interval: ym

Výsledek: 6

Vysvětlení:

Mezi těmito dvěma daty je 6 měsíců, pokud jsou data považována za data, která mají stejný rok. Rok, který byl převzat z Date1, nikoli Date2. To je rozdíl, když jeden rok je přestupným rokem. Od roku 2007 není přestupný rok, 29-Feb se nepočítá. Viz DATEDIF a Leap Years níže.

Datum1: 1.-2007

Datum2: 1. červenec-2008

Interval: yd

Výsledek: 181

Vysvětlení:

Mezi daty je 181 dní, pokud jsou data považována za data, která mají stejný rok. Rok, který byl převzat z Date1, nikoli Date2. To je rozdíl, když jeden rok je přestupným rokem. Od roku 2007 není přestupný rok, 29-Feb se nepočítá. Viz DATEDIF a Leap Years níže.

Datum1: 1.-2008

Datum2: 1. červenec-2009

Interval: yd

Výsledek: 182

Vysvětlení:

Mezi daty je 182 dnů, pokud jsou data považována za data, která mají stejný rok. Tento výsledek je 182 ne 181 protože Date1 je přestupný rok a tak se započítává 29-Feb.

Datum1: 1.-2007

Datum2: 31-Jan-2007

Interval: md

Výsledek: 30

Vysvětlení:

Mezi 1. a 31. datem, kdy jsou oba termíny měsíce a roky považovány za stejné, je 30 dní.

DATEDIF A Leap Years

Při výpočtu datových intervalů používá DATEDIF při výpočtu intervalů yd, ym a md rok Date1, nikoli Date2. Například,

= DATEDIF (Datum1, Datum2, "md")

vrátí 28 pro Date1 = 1-únor-2007 a datum2 = 1-březen-2009. Vzhledem k tomu, že Date1 není přestupný rok, datum 29-Feb se nepočítá. Ale stejný vzorec s Date1 = 1-únor-2008 vrátí 29, protože Date1 je přestupný rok, a proto se počítá datum 29-únor.

Výpočet věku

Můžete použít DATEDIF pro výpočet věku osoby. Níže uvedený vzorec například vypočítá věk osoby k aktuálnímu datu, kde datum narození je datum narození osoby.

= DATEDIF (datum narození, DNES (), "y") a "roky" & DATEDIF (datum narození, DNES (), "ym") a "měsíce" & DATEDIF (datum narození, DNES (), "md") a "dny"

Předchozí Článek Následující Článek

Nejlepší Tipy