2022-01-01 06:16 Doba čtení: 5 min

Jak vytvořit dynamicky definovaný rozsah v Excelu

Vaše excelové tabulky se často vyvíjejí, proto je výhodné mít dynamicky definovaný rozsah, který se automaticky přizpůsobuje aktuálnímu množství dat. Podívejme se, jak toho docílit.

Použitím dynamicky definovaného rozsahu ušetříte čas s manuální úpravou rozsahů ve vzorcích, grafech či kontingenčních tabulkách při každé změně dat. Vše proběhne automaticky.

K vytvoření dynamických rozsahů se běžně používají funkce OFFSET a INDEX. V tomto článku se zaměříme na funkci INDEX, která je efektivnější. OFFSET je totiž volatilní funkce a u velkých tabulek může zpomalovat výpočty.

Vytvoření dynamického rozsahu pomocí funkce INDEX

Pro názornost si ukážeme příklad s jednosloupcovým seznamem dat, například seznamem zemí:

Chceme, aby se tento rozsah automaticky aktualizoval při přidání nebo odebrání zemí. Konkrétně chceme rozsah od A2 do poslední buňky se zemí, tedy $A$2:$A$6, ale dynamicky. Klikněte na záložku „Vzorce“ a zvolte „Definovat název“.

Do pole „Název“ zadejte například „zeme“ a do pole „Odkazuje se na“ vložte následující vzorec:

=$A$2:INDEX($A:$A,COUNTA($A:$A))

Někdy je rychlejší a jednodušší vložit tento vzorec přímo do buňky v tabulce a zkopírovat jej do pole pro nový název.

Jak to funguje?

První část vzorce, $A$2:, definuje počáteční buňku rozsahu a operátor : (dvojtečka) určuje, že jde o rozsah.

Operátor rozsahu nutí funkci INDEX, aby vracela rozsah a ne jen hodnotu buňky. Funkce INDEX je pak kombinovaná s funkcí COUNTA. COUNTA($A:$A) spočítá počet neprázdných buněk ve sloupci A, tedy v našem případě 6.

INDEX($A:$A,COUNTA($A:$A))

Tento vzorec říká funkci INDEX, aby vrátila rozsah až po poslední neprázdnou buňku ve sloupci A, což je $A$6. Výsledkem je dynamický rozsah $A$2:$A$6, kde funkce COUNTA automaticky najde poslední řádek s daty. Nyní můžete název „zeme“ používat v ověření dat, vzorcích, grafech nebo kdekoli, kde potřebujete odkazovat na seznam zemí.

Dynamický rozsah ve dvou směrech

Předchozí příklad byl dynamický pouze vertikálně. S malou úpravou a přidáním další funkce COUNTA, můžete vytvořit rozsah, který je dynamický horizontálně i vertikálně.

Podívejme se na data v následující tabulce:

V tomto případě vytvoříme dynamický rozsah, který zahrnuje i záhlaví tabulky. Opět klikněte na „Vzorce“ > „Definovat název“.

Do pole „Název“ zadejte například „prodeje“ a do pole „Odkazuje se na“ vložte tento vzorec:

=$A$1:INDEX($1:$1048576,COUNTA($A:$A),COUNTA($1:$1))

Tento vzorec začíná buňkou $A$1 jako počáteční buňkou. Funkce INDEX prohledává celý list, tedy rozsah ($1:$1048576).

První funkce COUNTA, konkrétně COUNTA($A:$A), počítá neprázdné řádky, a druhá, COUNTA($1:$1), neprázdné sloupce. Díky tomu je rozsah dynamický v obou směrech. Ačkoliv jsme začali od buňky A1, můžeme zadat libovolnou počáteční buňku.

Nyní můžeme název „prodeje“ používat ve vzorcích, jako datovou řadu grafu, a ten se tak bude automaticky rozšiřovat podle rozsahu dat.

Jan Novák
Autor
Czechia

Redaktor zaměřený na Windows, produktivitu a cloudové nástroje.

Předchozí článek
Jak ručně přidat adresy ulic do možnosti automatického vyplňování prohlížeče Chrome
Další článek
Příspěvky zpětného data z roku 1970 na vaší stránce na Facebooku