Obsah
Zatímco Microsoft Excel nabízí řadu funkcí pro práci s dny v týdnu, měsíci a roky, pro týdny je k dispozici pouze jedna funkce - WEEKNUM. Pokud tedy hledáte způsob, jak z data získat číslo týdne, je WEEKNUM tou správnou funkcí.
V tomto krátkém tutoriálu si stručně popíšeme syntaxi a argumenty funkce Excel WEEKNUM a poté probereme několik příkladů vzorců, které ukazují, jak můžete funkci WEEKNUM použít k výpočtu čísel týdnů v pracovních listech aplikace Excel.
Funkce WEEKNUM aplikace Excel - syntaxe
Funkce WEEKNUM se v Excelu používá k vrácení čísla týdne určitého data v roce (číslo mezi 1 a 54). Má dva argumenty, 1. je povinný a 2. nepovinný:
WEEKNUM(serial_number, [return_type])- Serial_number - libovolné datum v rámci týdne, jehož číslo se snažíte zjistit. Může to být odkaz na buňku obsahující datum, datum zadané pomocí funkce DATE nebo vrácené jiným vzorcem.
- Return_type (nepovinné) - číslo, které určuje, kterým dnem začíná týden. Pokud je vynecháno, použije se výchozí typ 1 (týden začíná nedělí).
Zde je kompletní seznam return_type
hodnoty podporované ve vzorcích WEEKNUM.
Return_type | Týden začíná |
1 nebo 17 nebo vynecháno | Neděle |
2 nebo 11 | Pondělí |
12 | Úterý |
13 | Středa |
14 | Čtvrtek |
15 | Pátek |
16 | Sobota |
21 | Pondělí (používá se v systému 2, viz podrobnosti níže.) |
Ve funkci WEEKNUM se používají dva různé systémy číslování týdnů se používají:
- Systém 1. Týden obsahující 1. leden je považován za 1. týden v roce a je číslován jako týden 1. V tomto systému začíná týden tradičně nedělí.
- Systém 2. Jedná se o systém data týdne ISO, který je součástí normy ISO 8601 pro datum a čas. V tomto systému začíná týden pondělím a týden obsahující první čtvrtek v roce je považován za týden 1. Běžně je známý jako evropský systém číslování týdnů a používá se především ve státní správě a podnikání pro fiskální roky a časomíru.
Všechny výše uvedené typy návratů platí pro systém 1, kromě typu 21, který se používá v systému 2.
Poznámka: V aplikaci Excel 2007 a starších verzích jsou k dispozici pouze možnosti 1 a 2. Typy návratů 11 až 21 jsou podporovány pouze v aplikacích Excel 2010 a Excel 2013.
Vzorce aplikace Excel WEEKNUM pro převod data na číslo týdne (od 1 do 54)
Následující obrázek ukazuje, jak lze získat čísla týdnů z dat pomocí nejjednoduššího příkazu =WEEKNUM(A2)
vzorec:
Ve výše uvedeném vzorci se return_type
argument je vynechán, což znamená, že se použije výchozí typ 1 - týden začínající nedělí.
Pokud byste raději začali jiným dnem v týdnu, například pondělím, použijte v druhém argumentu číslo 2:
=WEEKNUM(A2, 2)
Místo odkazu na buňku můžete datum zadat přímo ve vzorci, například pomocí funkce DATE(rok, měsíc, den):
=ČÍSLO TÝDNE(DATE(2015,4,15), 2)
Výše uvedený vzorec vrátí číslo 16, což je číslo týdne, který obsahuje 15. duben 2015, přičemž týden začíná v pondělí.
V reálném životě se funkce WEEKNUM v aplikaci Excel používá samostatně jen zřídka. Nejčastěji se používá v kombinaci s jinými funkcemi k provádění různých výpočtů na základě čísla týdne, jak je ukázáno v dalších příkladech.
Jak převést číslo týdne na datum v aplikaci Excel
Jak jste se právě přesvědčili, není problém převést datum na číslo týdne pomocí funkce Excel WEEKNUM. Ale co když hledáte opak, tj. převod čísla týdne na datum? Bohužel neexistuje žádná funkce Excelu, která by to dokázala přímo. Budeme si tedy muset sestavit vlastní vzorce.
Předpokládejme, že v buňce A2 máte rok a v buňce B2 číslo týdne a nyní chcete vypočítat datum začátku a konce tohoto týdne.
Poznámka: Tento příklad vzorce je založen na číslech týdnů ISO, přičemž týden začíná pondělím.
Vzorec pro vrácení Datum zahájení týdne je následující:
=DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7
Kde A2 je rok a B2 je číslo týdne.
Upozorňujeme, že vzorec vrací datum jako pořadové číslo, a aby se zobrazilo jako datum, je třeba buňku odpovídajícím způsobem naformátovat. Podrobné pokyny najdete v části Změna formátu data v aplikaci Excel. A zde je výsledek vrácený vzorcem:
Vzorec pro převod čísla týdne na datum samozřejmě není triviální a může chvíli trvat, než se v logice zorientujete. Každopádně se budu snažit poskytnout smysluplné vysvětlení pro ty, kteří jsou zvědaví a chtějí proniknout do podstaty.
Jak vidíte, náš vzorec se skládá ze dvou částí:
DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3))
- vypočítá datum posledního pondělí předchozího roku.B2 * 7
- sečte počet týdnů vynásobený 7 (počet dní v týdnu) a získá pondělí (počáteční datum) daného týdne.
V systému číslování týdnů ISO je 1. týden týdnem, který obsahuje první čtvrtek v roce. První pondělí je tedy vždy mezi 29. prosincem a 4. lednem. Abychom tedy toto datum zjistili, musíme najít pondělí bezprostředně před 5. lednem.
V aplikaci Microsoft Excel můžete získat den v týdnu z data pomocí funkce WEEKDAY. A pro získání pondělí bezprostředně před daným datem můžete použít následující obecný vzorec:
= datum - TÝDEN( datum - 2)Pokud by naším konečným cílem bylo najít pondělí bezprostředně před 5. lednem roku v A2, mohli bychom použít následující funkce DATE:
=DATE(A2,1,5) - WEEKDAY(DATE(A2,1,3))
Ve skutečnosti však nepotřebujeme první pondělí tohoto roku, ale poslední pondělí roku předchozího. Od 5. ledna tedy musíme odečíst 7 dní, a proto v první funkci DATE dostaneme -2:
=DATE(A2,1,-2) - WEEKDAY(DATE(A2,1,3))
V porovnání se složitým vzorcem, který jste se právě naučili, je výpočet Datum ukončení týdne je hračka :) Chcete-li získat neděli v daném týdnu, jednoduše přičtěte 6 dní k datu Datum zahájení , tj. =D2+6
Případně můžete do vzorce přímo doplnit 6:
=DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7 + 6
Chcete-li se ujistit, že vzorce vždy poskytují správná data, podívejte se na následující snímek obrazovky. Výše uvedené vzorce Datum zahájení a Datum ukončení jsou zkopírovány napříč sloupci D a E:
Další způsoby převodu čísla týdne na datum v aplikaci Excel
Pokud výše uvedený vzorec založený na systému data týdnů ISO nevyhovuje vašim požadavkům, zkuste jedno z následujících řešení.
Vzorec 1. Týden obsahující leden-1 je týden 1, týden od pondělí do neděle.
Jak si pamatujete, předchozí vzorec pracuje na základě datového systému ISO, kde se za 1. týden považuje první čtvrtek v roce. Pokud pracujete na základě datového systému, kde se za 1. týden považuje týden obsahující 1. leden, použijte následující vzorce:
Datum zahájení:
=DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1
Datum ukončení:
=DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),2) + B2*7
Vzorec 2. Týden obsahující 1. ledna je 1. týden, týden od neděle do soboty.
Tyto vzorce jsou podobné výše uvedeným vzorcům s tím rozdílem, že jsou napsány pro týden od neděle do soboty.
Datum zahájení:
=DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1
Datum ukončení:
=DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),1) + B2*7
Vzorec 3. Počítání začíná vždy 1. ledna v týdnu od pondělí do neděle.
Zatímco předchozí vzorce vracejí pondělí (nebo neděli) 1. týdne bez ohledu na to, zda spadá do tohoto roku nebo do roku předchozího, tento vzorec pro počáteční datum vždy vrací hodnotu 1. ledna jako datum začátku 1. týdne bez ohledu na den v týdnu. Analogicky vzorec pro datum konce týdne vždy vrací hodnotu 31. prosince jako datum konce posledního týdne v roce bez ohledu na den v týdnu. Ve všech ostatních ohledech fungují tyto vzorce podobně jako vzorec 1 uvedený výše.
Datum zahájení:
=MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1)
Datum ukončení:
=MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + B2*7)
Vzorec 4. Počítání začíná vždy 1. ledna v týdnu od neděle do soboty.
Pro výpočet data začátku a konce týdne od neděle do soboty stačí malá úprava výše uvedených vzorců :)
Datum zahájení:
=MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1)
Datum ukončení:
=MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + B2*7)
Jak získat měsíc z čísla týdne
Chcete-li získat měsíc odpovídající číslu týdne, zjistěte první den v daném týdnu, jak je vysvětleno v tomto příkladu, a pak tento vzorec zabalte do funkce Excel MĚSÍC takto:
=MĚSÍC(DATUM(A2, 1, -2) - DEN V TÝDNU(DATUM(A2, 1, 3)) + B2 * 7)
Poznámka: Nezapomeňte, že výše uvedený vzorec funguje na základě hodnoty Systém data týdnů ISO , kde týden začíná pondělím a týden obsahující 1. čtvrtek v roce se považuje za 1. týden. Například v roce 2016 je prvním čtvrtkem 7. leden, a proto 1. týden začíná 4. ledna 2016.
Jak získat číslo týdne v měsíci (od 1 do 6)
Pokud vaše obchodní logika vyžaduje převod určitého data na číslo týdne v rámci příslušného měsíce, můžete použít kombinaci funkcí WEEKNUM, DATE a MONTH:
Za předpokladu, že buňka A2 obsahuje původní datum, použijte následující vzorec pro týden začínající dnem Pondělí (všimněte si 21 v argumentu return_type u WEEKNUM):
=ČÍSLO TÝDNE($A2,21)-ČÍSLO TÝDNE(DATUM(ROK($A2), MĚSÍC($A2),1),21)+1
Po dobu jednoho týdne počínaje dnem Neděle , vynechte argument return_type:
=ČÍSLO TÝDNE($A2)-ČÍSLO TÝDNE(DATUM(ROK($A2), MĚSÍC($A2),1))+1
Jak sečíst hodnoty a zjistit průměr podle čísla týdne
Nyní, když už víte, jak v aplikaci Excel převést datum na číslo týdne, se podíváme, jak můžete čísla týdnů používat při dalších výpočtech.
Předpokládejme, že máte k dispozici měsíční údaje o prodeji a chcete znát celkovou částku za každý týden.
Pro začátek zjistěte číslo týdne odpovídající každému prodeji. Pokud jsou vaše data ve sloupci A a prodeje ve sloupci B, zkopírujte si =WEEKNUM(A2)
vzorec napříč sloupcem C počínaje buňkou C2.
A pak vytvořte seznam čísel týdnů v jiném sloupci (například ve sloupci E) a vypočítejte tržby za každý týden pomocí následujícího vzorce SUMIF:
=SUMIF($C$2:$C$15, $E2, $B$2:$B$15)
Kde E2 je číslo týdne.
V tomto příkladu pracujeme se seznamem březnových prodejů, takže máme čísla týdnů 10 až 14, jak ukazuje následující snímek obrazovky:
Podobným způsobem můžete vypočítat průměrný prodej za daný týden:
=AVERAGEIF($C$2:$C$15, $E2, $B$2:$B$15)
Pokud se vám pomocný sloupec se vzorcem WEEKNUM nehodí do rozvržení dat, musím vám s lítostí sdělit, že neexistuje jednoduchý způsob, jak se ho zbavit, protože WEEKNUM v Excelu je jednou z těch funkcí, které nepřijímají argumenty rozsahu. Nelze ji tedy v podobném případě použít v rámci SUMPRODUCT nebo jiného vzorce pole, jako je funkce MONTH.
Jak zvýraznit buňky na základě čísla týdne
Řekněme, že máte v nějakém sloupci dlouhý seznam dat a chcete zvýraznit pouze ta, která se vztahují k danému týdnu. Stačí vám k tomu pravidlo podmíněného formátování se vzorcem WEEKNUM podobným tomuto:
=WEEKNUM($A2)=10
Jak ukazuje snímek obrazovky níže, pravidlo zvýrazňuje prodeje, které byly uskutečněny v 10. týdnu, což je první týden v březnu 2015. Protože pravidlo platí pro A2:B15, zvýrazňuje hodnoty v obou sloupcích. Více informací o vytváření pravidel podmíněného formátování se dozvíte v tomto návodu: Podmíněné formátování aplikace Excel na základě jiné hodnoty buňky.
Takto můžete v Excelu počítat čísla týdnů, převádět čísla týdnů na data a získávat čísla týdnů z dat. Doufejme, že vzorce WEEKNUM, které jste se dnes naučili, se vám budou hodit ve vašich pracovních listech. V příštím tutoriálu si povíme o výpočtu věku a let v Excelu. Děkuji vám za přečtení a doufám, že se uvidíme příští týden!