Funkce Odkaz a Nepřímý.odkaz
- Výsledek je absolutní adresa
- Výsledek je adresa relativní
- Výsledek je adresa s listem
- Funkce Nepřímý.odkaz
- Jinak využitá funkce
- Počet hodnot či jejich součet
- Skládání odkazu z více částí
Dvě zajímavé funkce, které mohou pomoci v některých situacích.
Funkce Odkaz
Pokud je třeba získat adresu určité buňky, lze využít právě funkci Odkaz, která umí vrátit adresu buňky v listu na základě zadaných čísel řádku a sloupce. Tvar této funkce je:
ODKAZ(řádek; sloupec; typ; a1; list),
kde řádek je povinný argument, který je číselný a určuje číslo řádku použité v odkazu na buňku. Druhý argument sloupec je také povinný. Tento argument určuje číslo sloupce použité v odkazu na buňku. Další argumenty jsou již nepovinné, ale je užitečné vědět, co znamenají. Argument typ určuje typ odkazu, který bude vrácen (1 znamená, že vrácený odkaz bude absolutní, 2 zase, že bude absolutní řádek a relativní sloupec, 3 znamená, že bude relativní řádek a absolutní sloupec a 4 znamená, že adresa bude relativní. Další argument s názvem a1 je logická hodnota, která určuje styl odkazu, to znamená, zda odkaz bude ve tvaru A1 nebo R1C1. Když bude tento argument vynechán nebo bude mít hodnotu Pravda, vrátí funkce odkaz ve tvaru A1, pokud bude argument Nepravda, pak funkce vrátí odkaz ve tvaru R1C1. Poslední argument se nazývá list, je textový, určuje název listu, když je třeba získat adresu z jiného listu. Pokud se argument list vynechá, nepoužije se žádný název listu, tak funkce vrátí odkaz na buňku na aktuálním listu.
Když se tedy doplní jen první dva argumenty (=ODKAZ(12;5)), funkce vrátí absolutní adresu $E$12 na aktuální list. Pokud se do třetího argumentu dosadí číslo 4 (=ODKAZ(12;5;4)), tak výsledkem bude relativní adresa E2. A jestliže se do posledního argumentu napíše název listu (=ODKAZ(12;5;4;;"sobota")), získá se adresa do jiného listu sobota!E12.
Poznámka: v kombinaci s funkcí Odkaz lze někdy využít i funkce Řádek nebo Sloupec.
Funkce Nepřímý.odkaz
Na rozdíl od funkce Odkaz, umí funkce Nepřímý.odkaz vrátit hodnotu (obsah) v buňce zadané její adresou. Je užitečná tehdy, když je třeba měnit v rámci vzorce nějaký odkaz na buňku, ale přitom je nevýhodné měnit cely vzorec.
Tvar funkce Nepřímý.odkaz je:
NEPŘÍMÝ.ODKAZ(odkaz; a1),
kde argument odkaz je povinný a musí obsahovat odkaz na buňku ve stylu A1, nebo typu R1C1, či název buňky jako textový řetězec Pokud argument není platný odkaz, vrátí tato funkce chybové hlášení. #ODKAZ! (#REF! ), případně #HODNOTA! Druhý argument a1 je sice nepovinný, ale je užitečné vědět, že se jedná o logickou hodnotu, která určuje typ odkazu. Je-li vynechán (nebo Pravda), pak je odkaz brán jako adresa typu A1, pokud je Nepravda, je brán jako typu R1C1.
Když je v buňce použita funkce Nepřímý.odkaz, musí se opravdu odkazovat na buňku (případně buňky, protože adresu lze i poskládat) s adresou. Pak výsledkem je obsah buňky s danou adresou.
Například se dá napsat ="Pozdravuje tě "& NEPŘÍMÝ.ODKAZ(D2), kde v buňce D2 je adresa nějaké buňky. Výsledkem pak není obsah buňky D2, ale buňky, jejíž adresa je v buňce D2 zapsaná. A pak se dá ještě různě hrát i s okolím vzorce a tím se třeba bude snadno měnit jméno v pozdravu (viz obrázek).
Zajímavé použití je třeba tehdy, když je třeba zjistit, která hodnota je vyplněná ve sloupci s daty jako poslední. Jestliže jsou data neustále doplňována, může se využít funkce Počet (případně Počet2), která ukáže, kolik údajů je zapsáno (např. takto =POČET(B2:B50)+1) a poté teprve lze využít funkci Nepřímý. odkaz, ve kterém se bude adresa skládat z písmene sloupce a počtu zjištěných buněk =NEPŘÍMÝ.ODKAZ("B"&E1). Lze celý vzorec vytvořit i najednou ve tvaru: =NEPŘÍMÝ.ODKAZ("B"& POČET(B2:B28)+1). Podobně by se pak dal vytvořit i součet buněk ve sloupci, kde se čísla neustále doplňují: =SUMA(B2:NEPŘÍMÝ.ODKAZ("B"&E1)).
Tím, že se adresa tvoří, tak se lze tímto způsobem odkazovat i do jiných listů. Záleží jen na nápadu, kde se tyto funkce a v jaké kombinaci využijí (viz poslední obrázek).
-
Excel v příkladech
Co byste říkali knížce o Excelu, ve které by byly většinou jen řešené příklady nebo ukázky využití některých funkcí? Prostě kniha bez zbytečné teorie. Tak se zkuste podívat dál.
Cena:170.00Kč