Excel vzorec: Dynamický pomenovaný rozsah s INDEX -

Obsah

Všeobecný vzorec

=$A$1:INDEX($A:$A,lastrow)

Zhrnutie

Jedným zo spôsobov, ako vytvoriť dynamický pomenovaný rozsah v programe Excel, je použitie funkcie INDEX. V zobrazenom príklade je pomenovaný rozsah „data“ definovaný nasledujúcim vzorcom:

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

, ktorá sa pohybuje v rozmedzí $ A $ 2: $ A $ 10.

Poznámka: tento vzorec má definovať pomenovaný rozsah, ktorý je možné použiť v iných vzorcoch.

Vysvetlenie

Táto stránka zobrazuje príklad dynamického pomenovaného rozsahu vytvoreného pomocou funkcie INDEX spolu s funkciou COUNTA. Dynamické pomenované rozsahy sa automaticky rozširujú a zmršťujú pri pridávaní alebo odstraňovaní údajov. Sú alternatívou k použitiu tabuľky Excel, ktorej veľkosť sa mení aj pri pridávaní alebo odstraňovaní údajov.

Funkcia INDEX vráti hodnotu na danej pozícii v rozsahu alebo poli. INDEX môžete použiť na načítanie jednotlivých hodnôt alebo celých riadkov a stĺpcov v rozsahu. Vďaka čomu je INDEX obzvlášť užitočný pre dynamické pomenované rozsahy, je to, že v skutočnosti vracia referenciu. To znamená, že z indexu INDEX môžete vytvoriť zmiešaný odkaz, ako napríklad $ A $ 1: A100.

V zobrazenom príklade je pomenovaný rozsah „data“ definovaný nasledujúcim vzorcom:

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

, ktorá sa pohybuje v rozmedzí $ A $ 2: $ A $ 10.

Ako tieto vzorce fungujú

Najskôr si všimnite, že tento vzorec je zložený z dvoch častí, ktoré sú na oboch stranách operátora rozsahu (:). Vľavo máme východiskovú referenciu pre rozsah, pevne zakódovanú ako:

$A$2

Vpravo je koncová referencia rozsahu vytvorená s INDEX takto:

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

Tu vložíme INDEX do celého stĺpca A pre pole a potom pomocou funkcie COUNTA zistíme „posledný riadok“ v rozsahu. COUNTA tu funguje dobre, pretože v stĺpci A je 10 hodnôt vrátane riadku hlavičky. COUNTA preto vráti 10, ktoré prejdú priamo do INDEXU ako číslo riadku. INDEX potom vráti odkaz na $ A $ 10, posledný použitý riadok v rozsahu:

INDEX($A:$A,10) // resolves to $A$10

Konečným výsledkom vzorca je teda tento rozsah:

$A$2:$A$10

Dvojrozmerný rozsah

Vyššie uvedený príklad funguje pre jednorozmerný rozsah. Ak chcete vytvoriť dvojrozmerný dynamický rozsah, v ktorom je dynamický aj počet stĺpcov, môžete použiť rovnaký prístup rozšírený takto:

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

Rovnako ako predtým, COUNTA sa používa na zistenie hodnoty „lastrow“ a my opäť použijeme značku COUNTA na získanie „lastcolumn“. Tieto sa dodávajú na indexovanie ako row_num, respektíve column_num.

Pre pole však dodávame celý pracovný hárok, zadaný ako všetkých 1048 576 riadkov, čo umožňuje INDEXU vrátiť referenciu v 2D priestore.

Poznámka: Excel 2003 podporuje iba 65 535 riadkov.

Určenie posledného riadku

Existuje niekoľko spôsobov, ako určiť posledný riadok (posledná relatívna poloha) v množine údajov, v závislosti od štruktúry a obsahu údajov v hárku:

  • Posledný riadok obsahuje zmiešané údaje a medzery
  • Posledný riadok so zmiešanými údajmi bez medzier
  • Posledný riadok v textových dátach
  • Posledný riadok v číselných údajoch

Dobré odkazy

Impozantný INDEX (fantastický článok Daniela Ferryho)

Zaujímavé články...