Funkce ADRESA aplikace Excel pro získání adresy buňky a další informace

  • Sdílet Toto
Michael Brown

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)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.