Obsah
Výukový program stručně seznamuje se syntaxí funkce ADDRESS a ukazuje, jak ji použít k vrácení adresy buňky aplikace Excel a další.
Chcete-li vytvořit odkaz na buňku v aplikaci Excel, můžete zadat souřadnice sloupce a řádku ručně. Případně můžete získat adresu buňky aplikace Excel z čísel řádků a sloupců dodaných funkci ADDRESS. Sama o sobě je téměř zbytečná, v kombinaci s dalšími funkcemi může být tato technika jediným řešením v situacích, kdy není možné odkázat na buňku přímo.
Funkce ADDRESS aplikace Excel - syntaxe a základní použití
Funkce ADRESA slouží k získání adresy buňky v aplikaci Excel na základě zadaných čísel řádků a sloupců. Adresa buňky je vrácena jako textový řetězec, nikoli jako skutečný odkaz.
Funkce je k dispozici ve všech verzích aplikace Excel pro Microsoft 365 - Excel 2007.
Syntaxe funkce ADDRESS je následující:
ADDRESS(číslo_řádku, číslo_sloupce, [abs_num], [a1], [sheet_text])První dva argumenty jsou povinné:
row_num - číslo řádku, které se použije v odkazu na buňku.
column_num - číslo sloupce pro vytvoření odkazu na buňku.
Poslední tři argumenty, které určují formát odkazu na buňku, jsou nepovinné:
abs_num - typ reference, absolutní nebo relativní. Může nabývat libovolného z níže uvedených čísel; výchozí je absolutní.
- 1 nebo vynecháno - absolutní odkaz na buňku jako $A$1
- 2 - smíšený odkaz: relativní sloupec a absolutní řádek jako A$1
- 3 - smíšený odkaz: absolutní sloupec a relativní řádek jako $A1
- 4 - relativní odkaz na buňku, například A1
a1 - referenční styl, A1 nebo R1C1. Pokud je vynechán, použije se výchozí styl A1.
- 1 nebo TRUE nebo vynecháno - vrací adresu buňky ve stylu odkazu A1, kde sloupce jsou písmena a řádky čísla.
- 0 nebo FALSE - vrací adresu buňky v referenčním stylu R1C1, kde jsou řádky a sloupce reprezentovány čísly.
sheet_text - název pracovního listu, který má být zahrnut do externího odkazu. Název listu by měl být zadán jako textový řetězec a uzavřen v uvozovkách, např. "Sheet2". Pokud je vynechán, nepoužije se žádný název pracovního listu a adresa je ve výchozím nastavení nastavena na aktuální list.
Například:
=ADRESA(1,1)
- vrátí adresu první buňky (tj. buňky v průsečíku prvního řádku a prvního sloupce) jako absolutní odkaz na buňku $A$1.
=ADRESA(1,1,4)
- vrátí adresu první buňky jako relativní odkaz na buňku A1.
V následující tabulce najdete několik dalších typů odkazů, které lze vrátit pomocí vzorců ADDRESS.
Vzorec | Výsledek | Popis |
=ADRESA(1,2) | $B$1 | Absolutní odkaz na buňku |
=ADRESA(1,2,4) | B1 | Relativní odkaz na buňku |
=ADRESA(1,2,2) | B$1 | Relativní sloupec a absolutní řádek |
=ADRESA(1,2,3) | $B1 | Absolutní sloupec a relativní řádek |
=ADRESA(1,2,1,FALSE) | R1C2 | Absolutní odkaz ve stylu R1C1 |
=ADRESA(1,2,4,FALSE) | R[1]C[2] | Relativní odkaz ve stylu R1C1 |
=ADDRESS(1,2,1,, "List2") | List2!$B$1 | Absolutní odkaz na jiný list |
=ADRESA(1,2,4,,, "List2") | List2!B1 | Relativní odkaz na jiný list |
Jak používat funkci ADDRESS v aplikaci Excel - příklady vzorců
Níže uvedené příklady ukazují, jak použít funkci ADDRESS uvnitř větších vzorců k provedení složitějších úloh.
Vrátit hodnotu buňky v daném řádku a sloupci
Pokud je vaším cílem získat hodnotu z konkrétní buňky na základě čísla jejího řádku a sloupce, použijte funkci ADDRESS společně s funkcí INDIRECT:
INDIRECT(ADDRESS(číslo_řádku, číslo_sloupce))Funkce ADDRESS vypíše adresu buňky jako text. Funkce INDIRECT tento text změní na normální odkaz a vrátí hodnotu z příslušné buňky.
Chcete-li například získat hodnotu buňky na základě čísla řádku v E1 a čísla sloupce v E2, použijte tento vzorec:
=INDIRECT(ADRESA(E1,E2))
Získání adresy buňky s nejvyšší nebo nejnižší hodnotou
V tomto příkladu nejprve najdeme nejvyšší a nejnižší hodnotu v rozsahu B2:B7 pomocí funkcí MAX a MIN a tyto hodnoty vypíšeme do speciálních buněk:
Buňka E2: =MAX(B2:B7)
Buňka F2: =MIN(B2:B7)
A pak použijeme funkci ADDRESS v kombinaci s funkcí MATCH, abychom získali adresy buněk.
Buňka s maximální hodnotou:
=ADRESA(MATCH(E2,B:B,0), SLOUPEC(B2))
Buňka s hodnotou min:
=ADRESA(MATCH(F2,B:B,0), SLOUPEC(B2))
V případě, že nechcete mít nejvyšší a nejnižší hodnotu v samostatných buňkách, můžete funkci MAX/MIN vnořit do prvního argumentu funkce MATCH. Například:
Buňka s nejvyšší hodnotou:
=ADRESA(MATCH(MAX(B2:B7),B:B,0), SLOUPEC(B2))
Buňka s nejnižší hodnotou:
=ADRESA(MATCH(MIN(B2:B7),B:B,0), SLOUPEC(B2))
Jak tyto vzorce fungují
Pro zjištění čísla řádku použijete funkci MATCH(hodnota_hledání, pole_hledání, [typ_zápasu]), která vrátí relativní pozici hodnoty_hledání v poli_hledání. V našem vzorci je hodnota_hledání číslo vrácené funkcí MAX nebo MIN a pole_hledání je celý sloupec. V důsledku toho relativní pozice hodnoty_hledání v poli přesně odpovídá číslu řádku na listu.
Pro zjištění čísla sloupce použijete funkci COLUMN. Nic vám samozřejmě nebrání zadat číslo přímo do vzorce, ale funkce COLUMN vám ušetří práci s ručním počítáním v případě, že se cílový sloupec nachází uprostřed listu.
Získání písmene sloupce z čísla sloupce
Chcete-li změnit libovolné číslo na písmeno sloupce, použijte funkci ADDRESS uvnitř funkce SUBSTITUTE:
SUBSTITUTE(ADRESA(1, column_number ,4), "1","")Jako příklad uveďme písmeno sloupce odpovídající číslu v A2:
=SUBSTITUTE(ADDRESS(1,A2,4), "1","")
Při pohledu na níže uvedené výsledky můžeme říci, že první sloupec na listu je A, což je zřejmé; 10. sloupec je J, 50. sloupec je AX a 100. sloupec je CV:
Jak tento vzorec funguje
Pro začátek nastavte funkci ADDRESS tak, aby vracela relativní odkaz na první buňku v cílovém sloupci:
- Pro číslo řádku použijte 1.
- Pro číslo sloupce zadejte odkaz na buňku obsahující číslo, v našem případě A2.
- Jako argument abs_num zadejte 4.
Výsledkem je, že ADDRESS(1,A2,4) vrátí A1.
Chcete-li se zbavit souřadnice řádku, zabalte výše uvedený vzorec do funkce SUBSTITUTE a nahraďte "1" prázdným řetězcem (""). Hotovo!
Získání adresy pojmenovaného rozsahu
Chcete-li v aplikaci Excel zjistit adresu pojmenovaného rozsahu, musíte nejprve získat odkaz na první a poslední buňku a poté je spojit. To funguje trochu jinak v předdynamickém Excelu (2019 a starší) a v Dynamickém poli Excelu (Office 365 a Excel 2021). Níže uvedené příklady jsou pro Excel 2019 - Excel 2007. Pokyny pro Excel 365 a Excel 2021 jsou zde.
Jak získat adresu první buňky v rozsahu
Chcete-li vrátit odkaz na první buňku pojmenovaného rozsahu, použijte tento obecný vzorec:
ADRESA(ŘÁDEK( rozsah ),COLUMN( rozsah ))Za předpokladu, že rozsah je pojmenován "Sales", skutečný vzorec vypadá takto:
=ADRESA(ŘÁDEK(Prodej), SLOUPEC(Prodej))
A vrátí adresu levé horní buňky v rozsahu:
V tomto vzorci vrací funkce ROW (řádek) a COLUMN (sloupec) pole všech čísel řádků a sloupců v rozsahu. Na základě těchto čísel sestaví funkce ADDRESS (adresa) pole adres buněk. Protože je však vzorec zadán v jediné buňce, zobrazí se pouze první položka pole, která odpovídá první buňce v rozsahu.
Jak získat adresu poslední buňky v rozsahu
Chcete-li zjistit adresu poslední buňky v pojmenovaném rozsahu, použijte tento obecný vzorec:
ADRESA(ŘÁDEK( rozsah )+ROWS( rozsah )-1,COLUMN( rozsah )+COLUMNS( rozsah )-1)Při použití na náš rozsah s názvem "Sales" má vzorec následující tvar:
=ADRESA(ŘÁDEK(Prodej) + ŘÁDKY(Prodej)-1, SLOUPEC(Prodej) + SLOUPCE(Prodej)-1)
A vrátí odkaz na pravou dolní buňku rozsahu:
Tentokrát potřebujeme trochu složitější výpočty, abychom zjistili číslo řádku. Stejně jako v předchozím příkladu nám funkce ROW poskytne pole všech čísel řádků v rozsahu, v našem případě {4;5;6;7}. Tato čísla musíme "posunout" o celkový počet řádků minus 1, takže první položka v poli se stane číslem posledního řádku. Abychom zjistili celkový počet řádků, použijeme funkci ROWS a funkciod jeho výsledku odečteme 1: (4-1=3). Poté ke každému prvku původního pole přičteme 3, abychom provedli požadovaný posun: {4;5;6;7} + 3 = {7;8;9;10}.
Číslo sloupce se vypočítá podobným způsobem: {2,3,4}+3-1 = {4,5,6}.
Z výše uvedených polí čísel řádků a sloupců sestaví funkce ADDRESS pole adres buněk, ale vrátí pouze první adresu odpovídající poslední buňce v rozsahu.
Stejného výsledku lze dosáhnout také výběrem maximálních hodnot z polí čísel řádků a sloupců. To však funguje pouze ve vzorci pole, který ke správnému dokončení vyžaduje stisknutí kláves Ctrl + Shift + Enter:
=ADRESA(MAX(ŘÁDEK(Prodej)), MAX(Sloupec(Prodej))
Jak získat úplnou adresu pojmenovaného rozsahu
Chcete-li vrátit kompletní adresu pojmenovaného rozsahu, stačí spojit dva vzorce z předchozích příkladů a vložit mezi ně operátor rozsahu (:).
ADRESA(ŘÁDEK( rozsah ), COLUMN( rozsah )) & ":" & ADDRESS(ROW( rozsah ) + ŘÁDKY( rozsah )-1, COLUMN( rozsah ) + SLOUPCE( rozsah )-1)Aby to fungovalo pro naši ukázkovou sadu dat, nahradíme obecný název "range" skutečným názvem rozsahu "Sales":
=ADRESA(ŘÁDEK(Sales), SLOUPEC(Sales)) & ":" & ADRESA(ŘÁDEK(Sales) + ŘÁDEK(Sales)-1, SLOUPEC(Sales) + SLOUPEC(Sales)-1)
A získat kompletní adresu rozsahu jako absolutní odkaz $B$4:$D$7:
Vrácení adresy rozsahu jako relativní (bez znaku $, jako B4:D7), nastavte argument abs_num v obou funkcích ADDRESS na 4:
=ADRESA(ŘÁDEK(Sales), SLOUPEC(Sales), 4) & ":" & ADRESA(ŘÁDEK(Sales) + ŘÁDEK(Sales)-1, SLOUPEC(Sales) + SLOUPEC(Sales)-1, 4)
Stejné změny lze samozřejmě provést i v jednotlivých vzorcích pro první a poslední buňku a výsledek bude vypadat podobně:
Jak získat adresu pojmenovaného rozsahu v aplikacích Excel 365 a Excel 2021
Na rozdíl od tradičního chování "jeden vzorec - jedna buňka" ve starších verzích se v novém Excelu každý vzorec, který může potenciálně vracet více hodnot, chová automaticky. Takové chování se nazývá přelévání.
Níže uvedený vzorec například místo adresy první buňky vypíše adresy všech buněk v pojmenovaném rozsahu:
=ADRESA(ŘÁDEK(Prodej), SLOUPEC(Prodej))
Získání adresy první buňka pouze musíte povolit implicitní průnik, který je ve výchozím nastavení spuštěn v aplikaci Excel 2019 a starších. Za tímto účelem vložte před názvy rozsahů symbol @ (operátor implicitního průniku):
=ADDRESS(@ROW(Sales), @COLUMN(Sales))
Podobným způsobem můžete opravit i další vzorce.
Chcete-li získat poslední buňka v rozsahu:
=ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Chcete-li získat adresa pojmenovaného rozsahu :
=ADDRESS(@ROW(Sales), @COLUMN(Sales)) & ":" & ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Níže uvedený snímek obrazovky ukazuje výsledky:
Tip: Při otevření pracovního listu se vzorci vytvořenými ve starší verzi v dynamickém poli Excelu je automaticky vložen operátor implicitního průniku.
Takto se v Excelu vrací adresa buňky. Chcete-li se blíže seznámit se všemi vzorci probíranými v tomto tutoriálu, můžete si stáhnout náš ukázkový sešit níže. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu!
Cvičebnice ke stažení
Funkce Excel ADRESA - příklady vzorců (.xlsx soubor)