Dnes se zaměříme na jednu z nejflexibilnějších dynamických funkcí v Excelu – funkci SEQUENCE. Na první pohled se může zdát, že jde o jednoduchý nástroj pro tvorbu číselných řad, ale její skutečná síla se ukáže v kombinaci s dalšími funkcemi. Ukážeme si pět praktických triků, které vám usnadní práci a zvýší vaši produktivitu.

Funkce SEQUENCE je dostupná pro uživatele verze Excel 2021 a pro předplatitele Microsoft 365.

Základy funkce SEQUENCE

Než se pustíme do pokročilejších technik, zopakujme si, jak funkce SEQUENCE funguje. Její hlavní účel je vygenerovat sekvenci čísel v zadaném rozsahu.

Syntaxe funkce: =SEQUENCE(řádky; [sloupce]; [začátek]; [krok])

  • Řádky: Povinný argument. Určuje, kolik řádků má výsledná řada mít.
  • [Sloupce]: Nepovinný argument. Určuje počet sloupců. Výchozí hodnota je 1.
  • [Začátek]: Nepovinný argument. Číslo, kterým má řada začínat. Výchozí je 1.
  • [Krok]: Nepovinný argument. Hodnota, o kterou se bude každé následující číslo v řadě zvyšovat. Výchozí je 1.

Příklad 1: Řada čísel v jednom sloupci Chceme-li vytvořit čísla od 1 do 10 pod sebou, použijeme vzorec: =SEQUENCE(10) Excel automaticky doplní ostatní nepovinné argumenty na jejich výchozí hodnoty (1 sloupec, začátek 1, krok 1).

Příklad 2: Řada čísel v jednom řádku Pro vytvoření řady čísel od 1 do 10 vedle sebe upravíme argumenty řádky a sloupce: =SEQUENCE(1; 10)

Příklad 3: Tabulka čísel Funkce umí vytvořit i tabulku. Například čísla od 1 do 20 ve dvou sloupcích a deseti řádcích: =SEQUENCE(10; 2)

Příklad 4: Vlastní začátek a krok Řada nemusí začínat jedničkou. Pro vytvoření deseti násobků čísla 2 (2, 4, 6, …) použijeme: =SEQUENCE(10; 1; 2; 2)

Trik 1: Dynamické číslování řádků

Představte si tabulku s produkty, která se neustále rozšiřuje. Ruční číslování nových řádků je zdlouhavé a náchylné k chybám. S funkcí SEQUENCE to můžeme plně zautomatizovat.

Problém: Chceme automaticky očíslovat všechny produkty v seznamu. Číslování se musí samo aktualizovat při přidání nebo odebrání produktu.

Řešení: Zkombinujeme SEQUENCE s funkcí POČET2 (v anglické verzi COUNTA), která počítá všechny neprázdné buňky v oblasti.

  1. Do buňky, kde má číslování začínat (např. A2), vložte následující vzorec: =SEQUENCE(POČET2(B2:B100))
  2. Ve funkci POČET2 označte sloupec s daty (v našem případě B2:B100 s produkty). Je dobré označit více řádků, než aktuálně máte, aby byl systém připraven na budoucí záznamy.
  3. Funkce POČET2 spočítá vyplněné produkty a tento počet předá funkci SEQUENCE jako argument řádky.

Výsledek: Kdykoliv přidáte do sloupce B nový produkt, číslování ve sloupci A se automaticky rozšíří. Pokud naopak řádek uprostřed tabulky smažete, číslování se okamžitě přepočítá a zůstane souvislé.

Trik 2: Tvorba dynamických datových řad

Potřebujete rychle vytvořit seznam datumů, například na následujících 10 dní od dneška? I zde je SEQUENCE skvělým pomocníkem, tentokrát ve spojení s funkcí DNES.

Řešení:

  1. Do buňky vložte vzorec: =SEQUENCE(10; 1; DNES(); 1)
    • 10 říká, že chceme 10 datumů.
    • 1 určuje, že je chceme v jednom sloupci.
    • DNES() nastaví jako počáteční datum aktuální den.
    • 1 zajistí, že se posouváme o jeden den.
  2. Excel vrátí sérii čísel. Nebojte se, jedná se o datumy ve formátu sériového čísla. Stačí označeným buňkám na kartě Domů změnit formát na Krátké datum nebo Dlouhé datum.

Protože jsme použili funkci DNES, tento seznam se každý den automaticky aktualizuje a bude vždy zobrazovat následujících 10 dní od aktuálního data.

Trik 3: Generování řady pracovních dnů (včetně svátků)

Často potřebujeme pracovat pouze s pracovními dny a vynechat víkendy, případně i státní svátky. Pro tento účel zkombinujeme SEQUENCE s funkcí WORKDAY.

Řešení 1: Vynechání víkendů

Pro vygenerování 15 následujících pracovních dnů použijeme SEQUENCE uvnitř funkce WORKDAY.

  1. Do buňky vložte vzorec: =WORKDAY(DNES(); SEQUENCE(15); 1)
    • DNES() je počáteční datum.
    • SEQUENCE(15) vygeneruje řadu čísel od 1 do 15, která funkci WORKDAY říká, o kolik pracovních dní se má posunout.
    • 1 v argumentu víkend specifikuje, že víkend je sobota a neděle (což je pro ČR standard).
  2. Opět nezapomeňte buňky naformátovat jako datum. Výsledkem je seznam 15 po sobě jdoucích pracovních dnů.

Řešení 2: Vynechání víkendů i státních svátků

Funkce WORKDAY má i nepovinný argument pro svátky.

  1. Nejprve si na listu vytvořte seznam datumů státních svátků (např. v oblasti F2:F5).
  2. Upravte vzorec a do posledního argumentu přidejte odkaz na tento seznam: =WORKDAY("15.4.2025"; SEQUENCE(15); 1; F2:F5)
    • Zde jsme jako počáteční datum použili pevné datum „15.4.2025“.
    • F2:F5 je odkaz na buňky obsahující data státních svátků.

Tento vzorec nyní vygeneruje 15 pracovních dnů a přeskočí nejen víkendy, ale i všechny dny uvedené ve vašem seznamu svátků.

Trik 4: Vytvoření dynamického seznamu měsíců

Chcete mít v tabulce dynamický seznam názvů měsíců od ledna do prosince? Jde to elegantně pomocí kombinace čtyř funkcí: HODNOTA.NA.TEXT, EDATE, SEQUENCE a DATUM.

Řešení: Postup je třeba sestavit krok za krokem.

  1. Začneme funkcí DATUM, abychom vytvořili první den v roce: DATUM(2025; 1; 1)
  2. Tuto funkci vložíme do funkce EDATE, která posouvá datum o daný počet měsíců. Počet měsíců budeme generovat pomocí SEQUENCE: =EDATE(DATUM(2025; 1; 1); SEQUENCE(12; 1; 0))
    • SEQUENCE(12; 1; 0) vytvoří řadu čísel od 0 do 11. To způsobí, že EDATE vygeneruje první den každého z 12 měsíců.
  3. V tuto chvíli máme seznam prvních dnů v každém měsíci (ve formátu čísel). Abychom z nich získali názvy, obalíme celý vzorec funkcí HODNOTA.NA.TEXT (v anglické verzi TEXT): =HODNOTA.NA.TEXT(EDATE(DATUM(2025; 1; 1); SEQUENCE(12; 1; 0)); "mmmm")
    • Formát "mmmm" říká Excelu, aby zobrazil celý název měsíce.

Výsledkem je elegantní dynamický seznam názvů všech dvanácti měsíců.

Trik 5: Filtrování dat pro kvartální souhrny

Poslední trik je velmi užitečný pro reporting. Máme tabulku s měsíčními daty a kumulativními součty a chceme z ní vytáhnout pouze řádky s konci kvartálů (březen, červen, září, prosinec).

Řešení: Zde využijeme kombinaci funkcí FILTR, ZVOLITSLOUPCE, MOD a SEQUENCE.

  1. Identifikace kvartálních řádků: Základem je funkce MOD, která vrací zbytek po dělení. Chceme každý třetí řádek. =MOD(SEQUENCE(POČET(B2:B13)); 3)
    • SEQUENCE(POČET(B2:B13)) vytvoří sekvenci čísel od 1 do počtu řádků s daty.
    • MOD(..., 3) vrátí pro každý řádek zbytek po dělení třemi. Pro 3., 6., 9. atd. řádek bude výsledek 0.
  2. Filtrování tabulky: Tento výsledek použijeme jako logický test ve funkci FILTR. =FILTR(A2:C13; MOD(SEQUENCE(POČET(B2:B13)); 3) = 0)
    • A2:C13 je celá zdrojová tabulka.
    • Podmínka ... = 0 zajistí, že funkce FILTR vrátí pouze řádky, kde je zbytek po dělení nulový, tedy konce kvartálů.
  3. Výběr správných sloupců: Funkce FILTR vrátila všechny tři sloupce. My ale chceme jen Měsíc (1. sloupec) a Kumulaci (3. sloupec). Proto celý vzorec obalíme funkcí ZVOLITSLOUPCE (v anglické verzi CHOOSECOLS). =ZVOLITSLOUPCE(FILTR(A2:C13; MOD(SEQUENCE(POČET(B2:B13)); 3) = 0); 1; 3)
    • 1; 3 na konci vzorce říká, že z výsledku filtrování chceme pouze první a třetí sloupec.

Pokud je vaše zdrojová tabulka formátována jako Tabulka Excelu, celý systém bude plně dynamický. Přidáním dalších měsíčních dat se souhrnná kvartální tabulka automaticky aktualizuje.

Časté otázky a odpovědi

Otázka: V jaké verzi Excelu je funkce SEQUENCE dostupná? Odpověď: Funkce SEQUENCE a ostatní dynamické funkce jsou dostupné v Excelu pro Microsoft 365 a v jednorázově zakoupené verzi Excel 2021 a novějších.

Otázka: Proč moje funkce vrací čísla místo datumů? Odpověď: Excel ukládá datumy jako sériová čísla. Když funkce SEQUENCE nebo WORKDAY vygeneruje výsledek, je třeba buňkám manuálně nastavit správný formát. Označte buňky a na kartě Domů ve skupině Číslo vyberte Datum.

Otázka: Co se stane, když smažu řádek v automaticky číslovaném seznamu? Odpověď: To je hlavní výhoda dynamického číslování. Vzorec s funkcí SEQUENCE a POČET2 se okamžitě přepočítá a zajistí, že číslování bude opět souvislé a bez mezer.

Otázka: Lze pomocí funkce SEQUENCE vytvořit i sestupnou číselnou řadu? Odpověď: Ano, stačí použít zápornou hodnotu v argumentu krok. Například pro čísla od 10 do 1 použijte vzorec =SEQUENCE(10; 1; 10; -1).

💡 Vyzkoušej CRM v Microsoft 365 šité na míru úspěšným obchodníkům 🚀