INDEX
Funkce INDEX vrátí hodnotu buňky, která se nachází v průsečíku zadaného řádku a sloupce v zadané sbírce buněk, nebo pole vrácené funkcí typu pole.
INDEX(rozmezí; index-řádku; index-sloupce; index-oblasti)
rozmezí: Sbírka buněk. Argument rozmezí určuje jednu nebo více sbírek, přičemž každá z nich představuje jedno rozmezí buněk. Je-li zadáno více oblastí buněk, jsou odděleny pomocí středníků a uzavřeny dalším párem závorek. Např. ((B1:B5;C10:C12)). Buňky, na které odkazuje argument rozmezí, mohou obsahovat hodnoty libovolného typu.
index-řádku: Číselná hodnota udávající číslo řádku hodnoty, která má být vrácena. Hodnota index-řádku musí být větší nebo rovna 0 a menší nebo rovna počtu řádků v argumentu rozmezí. Má-li index-řádku hodnotu 0, funkce INDEX vrátí pole s hodnotami celého sloupce určeného hodnotou index-sloupce, která musí být větší než 0 a menší nebo rovna počtu sloupců v rozmezí.
index-sloupce: Nepovinná číselná hodnota udávající číslo sloupce hodnoty, která má být vrácena. Hodnota index-sloupce musí být větší nebo rovna 0 a menší nebo rovna počtu sloupců v argumentu rozmezí. Má-li index-sloupce hodnotu 0, funkce INDEX vrátí pole s hodnotami celého řádku určeného hodnotou index-řádku, která musí být větší než 0 a menší nebo rovna počtu řádků v rozmezí.
index-oblasti: Nepovinná číselná hodnota udávající číslo oblasti pro hodnotu, která má být vrácena. Hodnota index-oblasti musí být větší nebo rovna 1 a menší nebo rovna počtu oblastí v argumentu rozmezí. Pokud index-oblasti není zadán, bude použita hodnota 1.
Poznámky
Funkce INDEX vrátí hodnotu nacházející se v určeném průsečíku dvourozměrné sbírky hodnot. Např. předpokládejme, že buňky B1:D8 obsahují hodnoty.
Vzorec =INDEX(B1:D8; 2; 3) vrátí hodnotu, která se nachází v průsečíku druhého řádku a třetího sloupce (hodnotu v buňce D3).
Umístěním dalších oblastí do dalšího páru závorek lze zadat více oblastí. Příklad:
Vzorec =INDEX((B2:D5; B7:D10); 2; 3; 2) vrátí hodnotu, která se nachází v průsečíku druhého řádku a třetího sloupce v druhé oblasti (hodnotu v buňce D8).
Funkce INDEX může vrátit pole v rámci řádku nebo sloupce, které následně využije jiná funkce. V tomto případě stačí zadat pouze jednu z hodnot index-řádku nebo index-sloupce a druhý argument lze vynechat. Příklad:
Vzorec =SUM(INDEX(B2:D5; ; 3)) vrátí součet hodnot ve třetím sloupci (buňky D2 až D5).
Vzorec =AVERAGE(INDEX(B2:D5; 2)) vrátí průměr hodnot na druhém řádku (buňky B3 až D3).
Funkce INDEX může vrátit (nebo „načíst“) hodnotu z pole vráceného funkcí typu pole. Funkce FREQUENCY vrátí pole hodnot v závislosti na zadaných intervalech.
Funkce =INDEX(FREQUENCY($A$1:$F$5; $B$8:$E$8); 1) vrátí první hodnotu v poli vráceném danou funkcí FREQUENCY.
Podobně funkce =INDEX(FREQUENCY($A$1:$F$5; $B$8:$E$8); 5) vrátí pátou hodnotu v poli.
Umístění v poli je třeba určit zadáním čísla řádku směrem dolů od buňky v levém horním rohu oblasti a čísla sloupce směrem vpravo od této buňky.
Výjimku tvoří případ, kdy je funkce INDEX zadána jako ve třetím příkladu výše (hodnotu index-řádku vynechat nelze, a pokud je vynechána hodnota index-sloupce, bude do výpočtu zahrnuta takovým způsobem, jako by měla velikost 1).
Příklady |
---|
Máme následující tabulku: |
A | B | C | D | |
---|---|---|---|---|
1 | 1 | 11 | 21 | |
2 | 2 | 12 | 22 | |
3 | 3 | 13 | 23 | |
4 | 4 | 14 | 24 | |
5 | a | b | c | |
6 | d | e | f | |
7 | g | h | i | |
8 | j | k | l |
Vzorec =INDEX(B1:D4; 2; 3) vrátí hodnotu 22, tj. hodnotu na druhém řádku (index-řádku je 2) ve třetím sloupci (index-sloupce je 3) v zadané skupině (rozmezí je B1:D4, takže výsledkem je obsah buňky D2). Vzorec =INDEX((B1:D4; B5:D8); 2; 3; 2) vrátí hodnotu „f“ neboli hodnotu na druhém řádku (index-řádku je 2) ve třetím sloupci (index-sloupce je 3) v druhé oblasti (index-oblasti je 2), což je buňka D6. Vzorec =SUM(INDEX(B1:D4; ; 3)) vrátí hodnotu 90, tj. součet hodnot ve třetím sloupci (buňky D1 až D4). Vzorec =AVERAGE(INDEX(B1:D4; 2)) vrátí hodnotu 12, tj. průměr hodnot na druhém řádku (buňky B2 až D2). |