DATEDIF és NETWORKDAYS a Google Sheetsben: dátumkülönbség napokban, hónapokban és években

  • Ossza Meg Ezt
Michael Brown

A mai blogbejegyzésben két dátum közötti különbség kiszámításáról lesz szó a Google Sheetsben. Rengeteg DATEDIF képletet fog látni a napok, hónapok és évek számolásához, és megtudhatja, hogyan lehet a NETWORKDAYS segítségével csak a munkanapokat számolni, még akkor is, ha a szabadságok egyéni ütemezésen alapulnak.

Sok táblázatkezelő felhasználó számára a dátumok kezelése zavaró, ha nem is rendkívül nehéz. De akár hiszed, akár nem, van néhány praktikus és egyszerű függvény erre a célra. A DATEDIF és a NETWORKDAYS ezek közül néhány.

    DATEDIF funkció a Google Sheetsben

    Ahogy a függvények esetében is előfordul, a nevük sugallja a műveletet. Ugyanez vonatkozik a DATEDIF-re is. Ezt úgy kell olvasni, hogy dátumbeli eltérés , nem keltezéssel, ha , és ez a következőkre utal dátumkülönbség Ezért a DATEDIF a Google Sheetsben kiszámítja két dátum közötti dátumkülönbséget.

    Bontsuk darabokra. A függvénynek három argumentumra van szüksége:

    =DATEDIF(start_date, end_date, egység)
    • start_date - a kiindulási pontként használt dátum, amelynek a következők valamelyikének kell lennie:
      • maga a dátum idézőjelben: "8/13/2020"
      • egy dátumot tartalmazó cellára való hivatkozás: A2
      • egy képlet, amely egy dátumot ad vissza: DATE(2020, 8, 13)
      • egy szám, amely egy adott dátumot jelöl, és amelyet a Google Sheets dátumként értelmezhet, pl. 44056 a címet képviseli. augusztus 13, 2020 .
    • end_date - egy végpontként használt dátum. A dátumnak ugyanolyan formátumúnak kell lennie, mint a start_date .
    • egység - arra szolgál, hogy megmondja a függvénynek, milyen különbséget adjon vissza. Itt van a használható egységek teljes listája:
      • "D" - (rövidítése a napok ) a két dátum közötti napok számát adja vissza.
      • "M" - (hónapok) a két dátum közötti teljes hónapok száma.
      • "Y" - (év) a teljes évek száma.
      • "MD" - (napok hónapok nélkül) a napok száma az egész hónapok levonása után.
      • "YD" - (napok, éveket figyelmen kívül hagyva) a napok száma az egész évek levonása után.
      • "YM" - (hónapok, éveket figyelmen kívül hagyva) a teljes hónapok száma a teljes évek levonása után.

    Megjegyzés: Minden egységet ugyanúgy kell a képletekbe tenni, ahogyan fentebb szerepelnek - dupla idézőjelben.

    Most rakjuk össze ezeket a részeket, és nézzük meg, hogyan működnek a DATEDIF képletek a Google Sheetsben.

    Két dátum közötti napok kiszámítása Google Sheetsben

    Példa 1. Számolja meg az összes napot

    Van egy kis táblázatom, hogy nyomon kövessek néhány megrendelést. Augusztus első felében az összeset elküldték - Szállítási dátum - ami az én kezdési időpontom lesz. És van egy hozzávetőleges szállítási dátum is... Esedékesség .

    Kiszámítom a napokat - "D" - a szállítási és az esedékességi időpontok között, hogy lássam, mennyi idő alatt érkeznek meg a tételek. Itt van a képlet, amit használnom kellene:

    =DATEDIF(B2, C2, "D")

    A DATEDIF képletet a D2-be adom be, majd lemásolom az oszlopba, hogy más sorokra is alkalmazhassam.

    Tipp: Az ARRAYFORMULA segítségével mindig kiszámíthatja a teljes oszlopot egyszerre, egyetlen képlettel:

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

    Példa 2. Napok számolása hónapok figyelmen kívül hagyásával

    Képzelje el, hogy két dátum között néhány hónap van:

    Hogyan számoljuk csak a napokat úgy, mintha ugyanahhoz a hónaphoz tartoznának? Így van: úgy, hogy figyelmen kívül hagyjuk az eltelt teljes hónapokat. A DATEDIF automatikusan kiszámítja ezt, amikor a "MD" egység:

    =DATEDIF(A2, B2, "MD")

    A funkció kivonja az eltelt hónapokat és megszámolja a hátralévő napokat.

    Példa 3. A napok számolása az évek figyelmen kívül hagyásával

    Egy másik egység - "YD" - akkor nyújt segítséget, ha a dátumok között több mint egy év van:

    =DATEDIF(A2, B2, "YD")

    A képlet először kivonja az éveket, majd a fennmaradó napokat úgy számítja ki, mintha azok ugyanahhoz az évhez tartoznának.

    Munkanapok számolása Google Sheetsben

    Van egy speciális eset, amikor csak munkanapokat kell számolni a Google Sheetsben. A DATEDIF képletek itt nem sokat segítenek. És azt hiszem, egyetértesz azzal, hogy a hétvégék kézi kivonása nem a legelegánsabb megoldás.

    Szerencsére a Google Sheets rendelkezik néhány nem túl varázslatos varázslattal erre a célra :)

    Példa 1. NETWORKDAYS funkció

    Az első a NETWORKDAYS. Ez a funkció kiszámítja a két dátum közötti munkanapok számát, kivéve a hétvégéket (szombat és vasárnap) és szükség esetén az ünnepnapokat:

    =NETWORKDAYS(start_date, end_date, [ünnepnapok])
    • start_date - kiindulási pontként használt dátum. Kötelező.

      Megjegyzés: Ha ez a dátum nem munkaszüneti nap, akkor munkanapnak számít.

    • end_date - végpontként használt dátum. Kötelező.

      Megjegyzés: Ha ez a dátum nem munkaszüneti nap, akkor munkanapnak számít.

    • ünnepek - ez opcionális, ha konkrét ünnepnapokra kell rámutatni. Dátumtartománynak vagy dátumokat jelölő számoknak kell lennie.

    Hogy szemléltessem, hogyan működik ez, hozzáadok egy listát azokról az ünnepnapokról, amelyek a szállítási és az esedékességi időpontok között esnek:

    Tehát a B oszlop a kezdeti dátum, a C oszlopok a végdátum. Az E oszlopban lévő dátumok az ünnepnapok, amelyeket figyelembe kell venni. Így kell kinéznie a képletnek:

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

    Tipp: Ha a képletet más cellákba másolja, a hibák vagy a helytelen eredmények elkerülése érdekében használjon abszolút cellahivatkozást az ünnepeknél. Vagy fontolja meg ehelyett egy tömbképlet létrehozását.

    Észrevetted, hogy a DATEDIF képletekhez képest csökkent a napok száma? Mert most a függvény automatikusan levonja az összes szombatot, vasárnapot és két ünnepnapot, amelyek pénteken és hétfőn esnek.

    Megjegyzés: A Google Sheetsben található DATEDIF-től eltérően a NETWORKDAYS számít. start_day és end_day hacsak nem ünnepnapok. Ezért a D7 visszaadja a következő adatokat 1 .

    Példa 2. NETWORKDAYS.INTL a Google Sheets számára

    Ha egyéni hétvégi beosztása van, akkor egy másik funkciót is előnyösen használhat: NETWORKDAYS.INTL. Segítségével a Google Sheetsben a munkanapokat a személyesen beállított hétvégék alapján számolhatja:

    =NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
    • start_date - kiindulási pontként használt dátum. Kötelező.
    • end_date - végpontként használt dátum. Kötelező.

      Megjegyzés: A NETWORKDAYS.INTL a Google Sheetsben is számít. start_day és end_day munkanapok, kivéve, ha azok ünnepnapok.

    • hétvége - Ha kihagyja, a szombat és a vasárnap hétvégének számít. Ezt azonban kétféleképpen is megváltoztathatja:
      • Maszkok .

        Tipp: Ez a módszer tökéletes, ha a szabadnapok a hét folyamán szétszóródnak.

        A maszk egy hétjegyű, 1-es és 0-s számjegyekből álló minta. 1 a hétvégét, 0 a munkanapot jelöli. A minta első számjegye mindig hétfő, az utolsó pedig vasárnap.

        Például, "1100110" azt jelenti, hogy szerdán, csütörtökön, pénteken és szombaton dolgozik.

        Megjegyzés: A maszkot dupla idézőjelbe kell tenni.

      • Számok .

        Használjon egyszámjegyű számokat (1-7), amelyek egy-egy készlet hétvégéjének párját jelölik:

        Szám Hétvége
        1 szombat, vasárnap
        2 vasárnap, hétfő
        3 Hétfő, kedd
        4 kedd, szerda
        5 szerda, csütörtök
        6 csütörtök, péntek
        7 Péntek, szombat

        Vagy dolgozzon kétjegyű számokkal (11-17), amelyek egy héten belül egy pihenőnapot jelölnek:

        Szám Hétvégi nap
        11 Vasárnap
        12 Hétfő
        13 Kedd
        14 Szerda
        15 Csütörtök
        16 Péntek
        17 Szombat
    • ünnepek - szintén opcionális, és az ünnepnapok megadására szolgál.

    Ez a funkció bonyolultnak tűnhet a sok szám miatt, de bátorítom, hogy próbálja ki.

    Először is, csak tisztázzuk a szabadnapjainkat. Tegyük azt, hogy Vasárnap és Hétfő Ezután döntsd el, hogyan jelzed a hétvégéidet.

    Ha maszkkal mész, akkor így lesz - 1000001 :

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

    De mivel két hétvégi napom van egymás után, használhatom a fenti táblázatokban szereplő számokat, 2 az én esetemben:

    =NETWORKDAYS.INTL(B2, C2, 2)

    Ezután egyszerűen adja hozzá az utolsó argumentumot - hivatkozzon az E oszlopban lévő ünnepekre, és a képlet készen áll:

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

    Google Sheets és a hónapok közötti dátumkülönbség

    Néha a hónapok többet számítanak, mint a napok. Ha ez igaz Önre, és jobban szereti a dátumkülönbséget hónapokban, mint napokban megkapni, akkor hagyja, hogy a Google Sheets DATEDIF végezze el a munkát.

    Példa 1. A két dátum közötti teljes hónapok száma

    A gyakorlat ugyanaz: a start_date az első, majd a end_date és "M" - amely hónapokig áll - végső érvként:

    =DATEDIF(A2, B2, "M")

    Tipp: Ne feledkezzen meg az ARRAUFORMULA funkcióról, amely segíthet a hónapok számolásában az összes soron egyszerre:

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

    Példa 2. A hónapok száma figyelmen kívül hagyja az éveket

    Nem biztos, hogy a kezdő- és záródátumok közötti összes év során végig kell számolnia a hónapokat. A DATEDIF segítségével ezt megteheti.

    Csak használja a "YM" egységet, és a képlet először kivonja az egész éveket, majd megszámolja a dátumok közötti hónapok számát:

    =DATEDIF(A2, B2, "YM")

    Két dátum közötti évek kiszámítása Google Sheetsben

    Utoljára (de nem utolsósorban) megmutatom, hogyan számítja ki a Google Sheets DATEDIF a dátumkülönbséget években kifejezve.

    Kiszámítom, hogy a párok hány éve házasok az esküvőjük dátuma és a mai dátum alapján:

    Ahogy azt már talán kitalálták, én a "Y" egységet:

    =DATEDIF(A2, B2, "Y")

    Mindezek a DATEDIF képletek az elsők, amelyeket ki kell próbálni, ha két dátum közötti napok, hónapok és évek kiszámításáról van szó a Google Sheetsben.

    Ha az Ön esete nem oldható meg ezekkel, vagy ha bármilyen kérdése van, bátorítom, hogy ossza meg velünk az alábbi megjegyzések között.

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.