Vzorec WEEKDAY v programe Excel na získanie dňa v týždni, víkendov a pracovných dní

  • Zdieľajte To
Michael Brown

Ak hľadáte funkciu Excelu na získanie dňa v týždni z dátumu, pristáli ste na správnej stránke. Tento návod vás naučí, ako použiť vzorec WEEKDAY v programe Excel na prevod dátumu na názov dňa v týždni, filtrovanie, zvýraznenie a počítanie víkendov alebo pracovných dní a ďalšie funkcie.

V programe Excel existuje celý rad funkcií na prácu s dátumami. Funkcia Deň v týždni (WEEKDAY) je obzvlášť užitočná pri plánovaní a rozvrhovaní, napríklad na určenie časového rámca projektu a automatické odstránenie víkendov z celkového počtu. Poďme si teda postupne prejsť príklady a pozrieť sa, ako vám môžu pomôcť zvládnuť rôzne úlohy súvisiace s dátumom v programe Excel.

    WEEKDAY - funkcia programu Excel pre deň v týždni

    Funkcia Excel WEEKDAY sa používa na vrátenie dňa v týždni od daného dátumu.

    Výsledkom je celé číslo, v predvolenom nastavení v rozsahu od 1 (nedeľa) do 7 (sobota). Ak vaša obchodná logika vyžaduje iný výpočet, môžete vzorec nakonfigurovať tak, aby začal počítať s akýmkoľvek iným dňom v týždni.

    Funkcia WEEKDAY je k dispozícii vo všetkých verziách programu Excel 365 až 2000.

    Syntax funkcie WEEKDAY je nasledujúca:

    WEEKDAY(serial_number, [return_type])

    Kde:

    Sériové_číslo (povinné) - dátum, ktorý chcete previesť na číslo dňa v týždni. Môže byť zadaný ako poradové číslo reprezentujúce dátum, ako textový reťazec vo formáte, ktorému Excel rozumie, ako odkaz na bunku obsahujúcu dátum alebo pomocou funkcie DATE.

    Return_type (nepovinné) - určuje, ktorý deň v týždni sa použije ako prvý deň. Ak sa vynechá, predvolene sa použije týždeň od nedele do soboty.

    Tu je zoznam všetkých podporovaných return_type hodnoty:

    Return_type Vrátený počet
    1 alebo vynechané Od 1. (nedeľa) do 7. (sobota)
    2 Od 1. (pondelok) do 7. (nedeľa)
    3 Od 0 (pondelok) do 6 (nedeľa)
    11 Od 1. (pondelok) do 7. (nedeľa)
    12 Od 1. (utorok) do 7. (pondelok)
    13 Od 1. (streda) do 7. (utorok)
    14 Od 1. (štvrtok) do 7. (streda)
    15 Od 1. (piatok) do 7. (štvrtok)
    16 Od 1. (sobota) do 7. (piatok)
    17 Od 1. (nedeľa) do 7. (sobota)

    Poznámka. return_type Hodnoty 11 až 17 boli zavedené v programe Excel 2010, a preto ich nie je možné používať v predchádzajúcich verziách.

    Základný vzorec WEEKDAY v programe Excel

    Na začiatok sa pozrime, ako použiť vzorec WEEKDAY v jeho najjednoduchšej forme na získanie čísla dňa z dátumu.

    Napríklad na získanie dňa v týždni z dátumu v C4 s predvoleným týždňom nedeľa - sobota sa použije vzorec:

    =WEEKDAY(C4)

    Ak máte k dispozícii poradové číslo reprezentujúce dátum (napr. vynesené funkciou DATEVALUE), môžete toto číslo zadať priamo do vzorca:

    =TÝŽDEŇ(45658)

    Dátum môžete zadať aj ako textový reťazec uzavretý v úvodzovkách priamo vo vzorci. Len nezabudnite použiť formát dátumu, ktorý Excel očakáva a dokáže interpretovať:

    =TÝŽDEŇ("1/1/2025")

    Prípadne zadajte zdrojový dátum 100 % spoľahlivým spôsobom pomocou funkcie DATE:

    =TÝŽDEŇ(DATE(2025, 1,1))

    Ak chcete použiť iné mapovanie dní ako predvolené ne-sobota, zadajte do druhého argumentu príslušné číslo. Napríklad, ak chcete začať počítať dni od pondelka, vzorec je:

    =TÝŽDEŇ(C4, 2)

    Na nasledujúcom obrázku všetky vzorce vracajú deň v týždni zodpovedajúci 1. januáru 2025, ktorý je v programe Excel interne uložený ako číslo 45658. V závislosti od hodnoty nastavenej v druhom argumente vzorce vypisujú rôzne výsledky.

    Na prvý pohľad sa môže zdať, že čísla, ktoré vracia funkcia WEEKDAY, majú len veľmi malý praktický zmysel. Pozrime sa však na ňu z iného uhla a rozoberme si niektoré vzorce, ktoré riešia úlohy z reálneho života.

    Ako previesť dátum programu Excel na názov dňa v týždni

    Funkcia WEEKDAY programu Excel vracia deň v týždni ako číslo. Ak chcete zmeniť číslo dňa v týždni na názov dňa, použite funkciu TEXT.

    Ak chcete získať Celodenné názvy , použite kód formátu "dddd":

    TEXT(WEEKDAY( dátum ), "dddd")

    Vrátiť sa skrátené názvy dní , kód formátu je "ddd":

    TEXT(WEEKDAY( dátum ), "ddd")

    Napríklad na prevod dátumu v A3 na názov dňa v týždni sa použije vzorec:

    =TEXT(WEEKDAY(A3), "dddd")

    Alebo

    =TEXT(WEEKDAY(A3), "ddd")

    Ďalším možným riešením je použitie funkcie WEEKDAY spolu s funkciou CHOOSE.

    Ak chcete napríklad získať skrátený názov dňa v týždni z dátumu v A3, vzorec vyzerá takto:

    =CHOOSE(WEEKDAY(A3), "Sun", "Mon", "Tus", "Wed", "Thu", "Fri", "Sat")

    Tu WEEKDAY vráti poradové číslo od 1 (ne) do 7 (so) a CHOOSE vyberie príslušnú hodnotu zo zoznamu. Keďže dátum v A3 (streda) zodpovedá 4, CHOOSE vypíše "st", čo je 4. hodnota v zozname.

    Hoci je konfigurácia vzorca CHOOSE o niečo ťažkopádnejšia, poskytuje väčšiu flexibilitu, ktorá vám umožňuje vypisovať názvy dní v ľubovoľnom formáte. Vo vyššie uvedenom príklade uvádzame skrátené názvy dní. Namiesto toho môžete vypisovať plné názvy, vlastné skratky alebo dokonca názvy dní v inom jazyku.

    Tip. Ďalším jednoduchým spôsobom, ako previesť dátum na názov dňa v týždni, je použitie vlastného formátu dátumu. Napríklad kód vo formáte "dddd, mmmm d, rrrr" zobrazí dátum ako " piatok, 3. januára 2025 ", zatiaľ čo "dddd" zobrazí len " Piatok ".

    Vzorec programu Excel WEEKDAY na vyhľadávanie a filtrovanie pracovných dní a víkendov

    Pri dlhom zozname dátumov môžete chcieť vedieť, ktoré dni sú pracovné a ktoré víkendové.

    Na identifikovať víkendy a pracovné dni v programe Excel vytvorte príkaz IF s vnorenou funkciou WEEKDAY. Napríklad:

    =IF(WEEKDAY(A3, 2)<6, "Pracovný deň", "Víkend")

    Tento vzorec sa prenesie do bunky A3 a skopíruje sa do toľkých buniek, koľko je potrebné.

    Vo vzorci WEEKDAY nastavíte return_type na 2, čo zodpovedá týždňu od pondelka do nedele, kde pondelok je deň 1. Ak je teda číslo dňa v týždni menšie ako 6 (pondelok až piatok), vzorec vráti "Pracovný deň", v opačnom prípade "Víkend".

    Na filter víkendov alebo pracovných dní , použite na súbor údajov filter programu Excel ( Údaje karta> Filter ) a vyberte možnosť "Víkend" alebo "Pracovný deň".

    Na nasledujúcom obrázku sú odfiltrované dni v týždni, takže sú viditeľné len víkendy:

    Ak niektorá regionálna kancelária vašej organizácie pracuje podľa iného harmonogramu, v ktorom sú dni pracovného pokoja iné ako sobota a nedeľa, môžete vzorec WEEKDAY ľahko prispôsobiť svojim potrebám zadaním iného return_type .

    Napríklad na liečbu Sobota a Pondelok ako víkendy, nastaviť return_type na 12, takže dostanete typ týždňa "utorok (1) až pondelok (7)":

    =IF(WEEKDAY(A2, 12)<6, "Pracovný deň", "Víkend")

    Ako zvýrazniť pracovné dni počas víkendov a v programe Excel

    Ak chcete na prvý pohľad spozorovať víkendy a pracovné dni v pracovnom hárku, môžete ich automaticky odtieniť rôznymi farbami. Na tento účel použite vzorec pre dni v týždni/víkendy, o ktorom sme hovorili v predchádzajúcom príklade, s podmieneným formátovaním programu Excel. Keďže podmienka je implicitná, potrebujeme len základnú funkciu WEEKDAY bez obalu IF.

    Na zvýraznenie víkendov (sobota a nedeľa):

    =WEEKDAY($A2, 2)<6

    Na zvýraznenie pracovných dní (pondelok - piatok):

    =WEEKDAY($A2, 2)>5

    Kde A2 je ľavá horná bunka vybraného rozsahu.

    Postup nastavenia pravidla podmieneného formátovania je nasledovný:

    1. Vyberte zoznam dátumov (v našom prípade A2:A15).
    2. Na Domov na karte Štýly kliknite na položku Podmienené formátovanie > Nové pravidlo .
    3. V Nové pravidlo formátovania dialógové okno, vyberte Použitie vzorca na určenie buniek, ktoré sa majú formátovať .
    4. V Formátovanie hodnôt, kde tento vzorec je políčko true, zadajte vyššie uvedený vzorec pre víkendy alebo pracovné dni.
    5. Kliknite na tlačidlo Formát a vyberte požadovaný formát.
    6. Kliknite na . OK dvakrát uložte zmeny a zatvorte dialógové okná.

    Podrobné informácie o jednotlivých krokoch nájdete v časti Ako nastaviť podmienené formátovanie pomocou vzorca.

    Výsledok vyzerá celkom pekne, však?

    Ako počítať pracovné dni a víkendy v programe Excel

    Ak chcete získať počet pracovných dní alebo víkendov v zozname dátumov, môžete použiť funkciu WEEKDAY v kombinácii so SUM. Napríklad:

    Na počítať víkendy , vzorec v D3 je:

    =SUM(--(WEEKDAY(A3:A20, 2)>5))

    Na počítať pracovné dni , vzorec v D4 má tento tvar:

    =SUM(--(WEEKDAY(A3:A20, 2)<6))

    V aplikáciách Excel 365 a Excel 2021, ktoré natívne pracujú s poliami, to funguje ako bežný vzorec, ako je znázornené na nasledujúcej snímke obrazovky. V aplikácii Excel 2019 a starších aplikáciách stlačte klávesovú skratku Ctrl + Shift + Enter, aby sa vzorec stal poľom.

    Ako tieto vzorce fungujú:

    Funkcia WEEKDAY s return_type nastavený na hodnotu 2 vráti číslo dňa od 1 (Po) do 7 (Ne) pre každý dátum v rozsahu A3:A20. Logický výraz kontroluje, či sú vrátené čísla väčšie ako 5 (pre víkendy) alebo menšie ako 6 (pre pracovné dni). Výsledkom tejto operácie je pole hodnôt TRUE a FALSE.

    Dvojitá negácia (--) mení logické hodnoty na 1 a 0. A funkcia SUM ich sčíta. Vzhľadom na to, že 1 (TRUE) predstavuje dni, ktoré sa majú spočítať, a 0 (FALSE) dni, ktoré sa majú ignorovať, dostanete požadovaný výsledok.

    Tip. Výpočet pracovné dni medzi dvoma dátumami , použite funkciu NETWORKDAYS alebo NETWORKDAYS.INTL.

    Ak je to pracovný deň, potom, ak je to sobota alebo nedeľa, potom

    Nakoniec si rozoberieme trochu špecifickejší prípad, ktorý ukazuje, ako určiť deň v týždni, a ak je to sobota alebo nedeľa, tak niečo urobiť, ak je to pracovný deň, tak urobiť niečo iné.

    IF(WEEKDAY( bunka , 2)>5, if_weekend_then , if_weekday_then )

    Predpokladajme, že vypočítavate platby pre zamestnancov, ktorí počas voľných dní vykonali nejakú prácu navyše, takže potrebujete použiť rôzne sadzby platieb pre pracovné dni a víkendy. To môžete urobiť pomocou nasledujúceho príkazu IF:

    • V logical_test vložiť funkciu WEEKDAY, ktorá kontroluje, či je daný deň pracovný deň alebo víkend.
    • V value_if_true argument, vynásobte počet pracovných hodín sadzbou za víkend (G4).
    • V value_if_false argument, vynásobte počet pracovných hodín sadzbou za pracovný deň (G3).

    Úplný vzorec v D3 má tento tvar:

    =IF(WEEKDAY(B3, 2)>5, C3*$G$4, C3*$G$3)

    Aby sa vzorec správne skopíroval do nižšie uvedených buniek, nezabudnite uzamknúť adresy buniek sadzby so znakom $ (napríklad $G$4).

    Nefunguje funkcia WEEKDAY

    Vo všeobecnosti existujú dve bežné chyby, ktoré môže vzorec WEEKDAY vrátiť:

    #VALUE! chyba nastane, ak:

    • Sériové_číslo alebo return_type je nečíselný.
    • Sériové_číslo je mimo podporovaného rozsahu dátumov (1900 až 9999).

    #NUM! chyba nastane, keď return_type je mimo povoleného rozsahu (1-3 alebo 11-17).

    Takto sa v programe Excel používa funkcia WEEKDAY na manipuláciu s dňami v týždni. V ďalšom článku sa budeme venovať funkciám programu Excel na prácu s väčšími časovými jednotkami, ako sú týždne, mesiace a roky. Zostaňte s nami a ďakujeme za prečítanie!

    Cvičebnica na stiahnutie

    Vzorec WEEKDAY v programe Excel - príklady (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.