DATEDIF a NETWORKDAYS v tabulkách Google: rozdíl dat ve dnech, měsících a letech

  • Sdílet Toto
Michael Brown

Dnešní příspěvek na blogu je věnován zjišťování rozdílu mezi dvěma daty v tabulkách Google. Uvidíte spoustu vzorců DATEDIF pro počítání dnů, měsíců a let a dozvíte se, jak se používá vzorec NETWORKDAYS pro počítání pouze pracovních dnů, i když jsou vaše svátky založeny na vlastním plánu.

Spousta uživatelů tabulkových procesorů považuje práci s daty za matoucí, ne-li velmi obtížnou. Ale věřte nebo ne, pro tento účel existuje několik šikovných a jednoduchých funkcí. DATEDIF a NETWORKDAYS jsou jedny z nich.

    Funkce DATEDIF v Tabulkách Google

    Jak už to u funkcí bývá, jejich názvy napovídají, jakou činnost mají vykonávat. Totéž platí pro funkci DATEDIF. Je třeba ji číst jako rozdíl v datu , ne s datem, pokud a znamená rozdíl v datech . Proto funkce DATEDIF v tabulkách Google vypočítá rozdíl dat mezi dvěma daty.

    Rozložme si ji na části. Funkce vyžaduje tři argumenty:

    =DATEDIF(datum_začátku, datum_konce, jednotka)
    • start_date - datum, které se používá jako výchozí bod. Musí to být jeden z následujících údajů:
      • samotné datum ve dvojitých uvozovkách: "8/13/2020"
      • odkaz na buňku s datem: A2
      • vzorec, který vrací datum: DATE(2020, 8, 13)
      • číslo, které označuje konkrétní datum a které lze v tabulkách Google interpretovat jako datum, např. 44056 představuje srpna 13, 2020 .
    • end_date - datum, které se používá jako koncový bod. Musí mít stejný formát jako datum start_date .
    • jednotka - se používá k určení rozdílu, který má funkce vrátit. Zde je úplný seznam jednotek, které můžete použít:
      • "D" - (zkratka pro dny ) vrací počet dní mezi dvěma daty.
      • "M" - (měsíce) počet celých měsíců mezi dvěma daty.
      • "Y" - (let) počet celých let.
      • "MD" - (dny bez měsíců) počet dní po odečtení celých měsíců.
      • "YD" - (dny bez let) počet dní po odečtení celých let.
      • "YM" - (měsíce bez let) počet celých měsíců po odečtení celých let.

    Poznámka: Všechny jednotky se musí do vzorců vkládat stejným způsobem, jakým jsou uvedeny výše - ve dvojitých uvozovkách.

    Nyní spojíme všechny tyto části dohromady a podíváme se, jak fungují vzorce DATEDIF v tabulkách Google.

    Výpočet dnů mezi dvěma daty v Tabulkách Google

    Příklad 1. Počítejte všechny dny

    Mám malou tabulku pro sledování některých objednávek. Všechny byly odeslány v první polovině srpna - Datum odeslání - což je datum mého nástupu. Je tam také přibližné datum doručení - Datum splatnosti .

    Budu počítat dny - "D" - mezi daty odeslání a splatnosti, abych zjistil, jak dlouho trvá, než zboží dorazí. Zde je vzorec, který bych měl použít:

    =DATEDIF(B2, C2, "D")

    Zadám vzorec DATEDIF do D2 a pak ho zkopíruji dolů do sloupce, abych ho mohl použít na další řádky.

    Tip: Pomocí vzorce ARRAYFORMULA můžete vždy vypočítat celý sloupec najednou:

    =ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))

    Příklad 2. Počítání dnů bez ohledu na měsíce

    Představte si, že mezi dvěma daty je několik měsíců:

    Jak počítáte pouze dny, jako by patřily do stejného měsíce? Správně: ignorujete celé měsíce, které již uplynuly. DATEDIF to počítá automaticky, když použijete příkaz "MD" jednotka:

    =DATEDIF(A2, B2, "MD")

    Funkce odečte uplynulé měsíce a spočítá zbývající dny.

    Příklad 3. Počítání dnů bez ohledu na roky

    Další jednotka - "YD" - pomůže, když je mezi daty více než rok:

    =DATEDIF(A2, B2, "YD")

    Vzorec nejprve odečte roky a poté vypočítá zbývající dny, jako by patřily do stejného roku.

    Počítání pracovních dnů v Tabulkách Google

    Existuje speciální případ, kdy potřebujete v tabulkách Google počítat pouze pracovní dny. Vzorce DATEDIF vám zde příliš nepomohou. A věřím, že budete souhlasit, že ruční odečítání víkendů není nejelegantnější volbou.

    Naštěstí na to má Google Sheets několik nepříliš magických kouzel :)

    Příklad 1. Funkce NETWORKDAYS

    První z nich se nazývá NETWORKDAYS. Tato funkce vypočítá počet pracovních dnů mezi dvěma daty bez víkendů (sobota a neděle) a případně i svátků:

    =NETWORKDAYS(start_date, end_date, [holidays])
    • start_date - datum, které se používá jako výchozí bod. Požadováno.

      Poznámka: Pokud toto datum není svátkem, počítá se jako pracovní den.

    • end_date - datum použité jako koncový bod. Požadováno.

      Poznámka: Pokud toto datum není svátkem, počítá se jako pracovní den.

    • dovolená - tento údaj je nepovinný, pokud potřebujete poukázat na konkrétní svátky. Musí to být rozsah dat nebo čísel představujících data.

    Pro ilustraci, jak to funguje, přidám seznam svátků, které se konají mezi daty odeslání a splatnosti:

    Takže sloupec B je moje počáteční datum, sloupce C - koncové datum. Data ve sloupci E jsou svátky, které je třeba vzít v úvahu. Zde je, jak by měl vzorec vypadat:

    =NETWORKDAYS(B2, C2, $E$2:$E$4)

    Tip. Pokud se chystáte vzorec kopírovat do dalších buněk, použijte pro prázdniny absolutní odkazy na buňky, abyste se vyhnuli chybám nebo nesprávným výsledkům. Nebo zvažte, zda místo toho nevytvořit vzorec pole.

    Všimli jste si, že se počet dní oproti vzorci DATEDIF snížil? Protože nyní funkce automaticky odečte všechny soboty, neděle a dva svátky, které připadají na pátek a pondělí.

    Poznámka: Na rozdíl od funkce DATEDIF v tabulkách Google počítá NETWORKDAYS start_day a end_day jako pracovní dny, pokud nejsou svátky. Proto D7 vrací 1 .

    Příklad 2. NETWORKDAYS.INTL pro Tabulky Google

    Pokud máte vlastní rozvrh víkendů, využijete další funkci: NETWORKDAYS.INTL. Ta vám umožní počítat pracovní dny v tabulkách Google na základě osobně nastavených víkendů:

    =NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
    • start_date - datum, které se používá jako výchozí bod. Požadováno.
    • end_date - datum použité jako koncový bod. Požadováno.

      Poznámka: NETWORKDAYS.INTL v tabulkách Google se také počítá. start_day a end_day jako pracovní dny, pokud se nejedná o svátky.

    • víkend - Tento údaj je nepovinný. Pokud je vynechán, sobota a neděle se považují za víkendy. Můžete to však změnit dvěma způsoby:
      • Masky .

        Tip: Tento způsob je ideální, když máte volné dny roztroušené po celém týdnu.

        Maska je sedmimístný vzor 1 a 0. 1 znamená víkend, 0 pracovní den. První číslice ve vzoru je vždy pondělí, poslední neděle.

        Například, "1100110" znamená, že pracujete ve středu, čtvrtek, pátek a sobotu.

        Poznámka: Maska musí být uvedena ve dvojitých uvozovkách.

      • Čísla .

        Použijte jednociferná čísla (1-7), která označují dvojici víkendů v sadě:

        Číslo Víkend
        1 sobota, neděle
        2 Neděle, pondělí
        3 Pondělí, úterý
        4 Úterý, středa
        5 Středa, čtvrtek
        6 Čtvrtek, pátek
        7 Pátek, sobota

        Nebo pracujte s dvoucifernými čísly (11-17), která označují jeden den odpočinku v rámci týdne:

        Číslo Víkendový den
        11 Neděle
        12 Pondělí
        13 Úterý
        14 Středa
        15 Čtvrtek
        16 Pátek
        17 Sobota
    • dovolená - je rovněž nepovinný a slouží k zadání svátků.

    Tato funkce se může zdát složitá kvůli všem těm číslům, ale doporučuji vám, abyste ji vyzkoušeli.

    Nejdříve si ujasněte, jaké máte volné dny. Udělejme si je Neděle a Pondělí . Pak se rozhodněte, jakým způsobem označíte své víkendy.

    Pokud použijete masku, bude to vypadat takto - 1000001 :

    =NETWORKDAYS.INTL(B2, C2, "1000001")

    Ale protože mám dva víkendové dny za sebou, mohu použít číslo z výše uvedených tabulek, 2 v mém případě:

    =NETWORKDAYS.INTL(B2, C2, 2)

    Pak stačí doplnit poslední argument - odkaz na dovolenou ve sloupci E - a vzorec je připraven:

    =NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)

    Tabulky Google a rozdíl dat v měsících

    Někdy jsou měsíce důležitější než dny. Pokud to platí i pro vás a dáváte přednost získání rozdílu v datech v měsících před dny, nechte to udělat funkci DATEDIF v tabulkách Google.

    Příklad 1. Počet celých měsíců mezi dvěma daty

    Postup je stejný: start_date je první, následuje end_date a "M" - která stojí měsíce - jako poslední argument:

    =DATEDIF(A2, B2, "M")

    Tip: Nezapomeňte na funkci ARRAUFORMULA, která vám pomůže spočítat měsíce ve všech řádcích najednou:

    =ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))

    Příklad 2. Počet měsíců ignorující roky

    Možná nemusíte počítat měsíce ve všech letech mezi počátečním a koncovým datem. A to vám DATEDIF umožňuje.

    Stačí použít "YM" a vzorec nejprve odečte celé roky a poté spočítá počet měsíců mezi daty:

    =DATEDIF(A2, B2, "YM")

    Výpočet let mezi dvěma daty v Tabulkách Google

    Poslední (ale ne poslední) věc, kterou vám ukážeme, je způsob, jakým tabulky Google DATEDIF počítají rozdíl dat v letech.

    Na základě data svatby a dnešního data spočítám, kolik let jsou páry sezdané:

    Jak jste již možná uhodli, použiji příkaz "Y" k tomu slouží jednotka:

    =DATEDIF(A2, B2, "Y")

    Všechny tyto vzorce DATEDIF je třeba vyzkoušet jako první, pokud jde o výpočet dnů, měsíců a let mezi dvěma daty v tabulkách Google.

    Pokud váš případ nelze vyřešit těmito způsoby nebo pokud máte nějaké otázky, doporučuji vám, abyste se s námi o ně podělili v komentářích níže.

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.