Funkcia Excel ADDRESS na získanie adresy bunky a ďalšie

  • Zdieľajte To
Michael Brown

Tento návod poskytuje stručný úvod do syntaxe funkcie ADDRESS a ukazuje, ako ju použiť na vrátenie adresy bunky programu Excel a ďalšie informácie.

Ak chcete vytvoriť odkaz na bunku v programe Excel, môžete ručne zadať súradnice stĺpca a riadku. Prípadne môžete získať adresu bunky programu Excel z čísel riadkov a stĺpcov dodaných funkcii ADDRESS. Sama o sebe je takmer zbytočná, v kombinácii s inými funkciami môže byť táto technika jediným riešením v situáciách, keď nie je možné priamo odkázať na bunku.

    Funkcia Excel ADDRESS - syntax a základné použitie

    Funkcia ADDRESS je určená na získanie adresy bunky v programe Excel na základe zadaných čísel riadkov a stĺpcov. Adresa bunky sa vráti ako textový reťazec, nie ako skutočný odkaz.

    Funkcia je k dispozícii vo všetkých verziách aplikácie Excel pre Microsoft 365 - Excel 2007.

    Syntax funkcie ADDRESS je nasledujúca:

    ADDRESS(číslo_riadku, číslo_stĺpca, [abs_num], [a1], [sheet_text])

    Vyžadujú sa prvé dva argumenty:

    číslo_riadku - číslo riadku, ktoré sa má použiť v odkaze na bunku.

    column_num - číslo stĺpca na vytvorenie odkazu na bunku.

    Posledné tri argumenty, ktoré určujú formát odkazu na bunku, sú nepovinné:

    abs_num - typ odkazu, absolútny alebo relatívny. Môže mať ľubovoľné z nižšie uvedených čísel; predvolené je absolútne.

    • 1 alebo vynechaný - absolútny odkaz na bunku ako $A$1
    • 2 - zmiešaný odkaz: relatívny stĺpec a absolútny riadok ako A$1
    • 3 - zmiešaný odkaz: absolútny stĺpec a relatívny riadok ako $A1
    • 4 - relatívny odkaz na bunku, napríklad A1

    a1 - referenčný štýl, A1 alebo R1C1. Ak sa vynechá, použije sa predvolený štýl A1.

    • 1 alebo TRUE alebo vynechané - vráti adresu bunky v štýle odkazu A1, kde stĺpce sú písmená a riadky sú čísla.
    • 0 alebo FALSE - vráti adresu bunky v referenčnom štýle R1C1, kde sú riadky a stĺpce reprezentované číslami.

    sheet_text - názov pracovného hárku, ktorý sa má zahrnúť do externého odkazu. Názov hárku by sa mal zadať ako textový reťazec a mal by byť uzavretý v úvodzovkách, napr. "Sheet2". Ak sa vynechá, nepoužije sa žiadny názov pracovného hárku a adresa sa predvolene nastaví na aktuálny hárok.

    Napríklad:

    =ADDRESS(1,1) - vráti adresu prvej bunky (t. j. bunky na priesečníku prvého riadku a prvého stĺpca) ako absolútny odkaz na bunku $A$1.

    =ADRESA(1,1,4) - vráti adresu prvej bunky ako relatívny odkaz na bunku A1.

    V nasledujúcej tabuľke nájdete niekoľko ďalších typov odkazov, ktoré môžu byť vrátené vzorcami ADDRESS.

    Vzorec Výsledok Popis
    =ADDRESS(1,2) $B$1 Absolútny odkaz na bunku
    =ADRESA(1,2,4) B1 Relatívny odkaz na bunku
    =ADRESA(1,2,2) B$1 Relatívny stĺpec a absolútny riadok
    =ADRESA(1,2,3) $B1 Absolútny stĺpec a relatívny riadok
    =ADRESA(1,2,1,FALSE) R1C2 Absolútny odkaz v štýle R1C1
    =ADRESA(1,2,4,FALSE) R[1]C[2] Relatívny odkaz v štýle R1C1
    =ADDRESS(1,2,1,, "Sheet2") List2!$B$1 Absolútny odkaz na iný list
    =ADDRESS(1,2,4,, "Sheet2") List2!B1 Relatívny odkaz na iný list

    Ako používať funkciu ADDRESS v programe Excel - príklady vzorcov

    Nižšie uvedené príklady ukazujú, ako použiť funkciu ADDRESS vo väčších vzorcoch na vykonanie zložitejších úloh.

    Vrátiť hodnotu bunky v danom riadku a stĺpci

    Ak je vaším cieľom získať hodnotu z konkrétnej bunky na základe čísla jej riadku a stĺpca, použite funkciu ADDRESS spolu s funkciou INDIRECT:

    INDIRECT(ADDRESS(číslo_riadku, číslo_stĺpca))

    Funkcia ADDRESS vypíše adresu bunky ako text. Funkcia INDIRECT zmení tento text na normálny odkaz a vráti hodnotu z príslušnej bunky.

    Ak chcete napríklad získať hodnotu bunky na základe čísla riadku v E1 a čísla stĺpca v E2, použite tento vzorec:

    =INDIRECT(ADRESA(E1,E2))

    Získanie adresy bunky s najvyššou alebo najnižšou hodnotou

    V tomto príklade najprv nájdeme najvyššiu a najnižšiu hodnotu v rozsahu B2:B7 pomocou funkcií MAX a MIN a tieto hodnoty vypíšeme do špeciálnych buniek:

    Bunka E2: =MAX(B2:B7)

    Bunka F2: =MIN(B2:B7)

    A potom použijeme funkciu ADDRESS v kombinácii s funkciou MATCH na získanie adries buniek.

    Bunka s maximálnou hodnotou:

    =ADRESA(MATCH(E2,B:B,0), STĹPEC(B2))

    Bunka s minimálnou hodnotou:

    =ADRESA(MATCH(F2,B:B,0), STĹPEC(B2))

    V prípade, že nechcete mať najvyššiu a najnižšiu hodnotu v samostatných bunkách, môžete funkciu MAX/MIN vložiť do prvého argumentu funkcie MATCH. Napríklad:

    Bunka s najvyššou hodnotou:

    =ADRESA(MATCH(MAX(B2:B7),B:B,0), STĹPEC(B2))

    Bunka s najnižšou hodnotou:

    =ADRESA(MATCH(MIN(B2:B7),B:B,0), STĹPEC(B2))

    Ako tieto vzorce fungujú

    Na zistenie čísla riadku použijete funkciu MATCH(hodnota_hľadania, pole_hľadania, [typ_zhody]), ktorá vráti relatívnu pozíciu hodnoty_hľadania v poli_hľadania. V našom vzorci je hodnota_hľadania číslo vrátené funkciou MAX alebo MIN a pole_hľadania je celý stĺpec. Z toho vyplýva, že relatívna pozícia hodnoty_hľadania v poli presne zodpovedá číslu riadku na hárku.

    Na zistenie čísla stĺpca použijete funkciu COLUMN. Samozrejme, nič vám nebráni zadať číslo priamo do vzorca, ale COLUMN vám ušetrí námahu s ručným počítaním v prípade, že sa cieľový stĺpec nachádza uprostred listu.

    Získanie písmena stĺpca z čísla stĺpca

    Ak chcete premeniť ľubovoľné číslo na písmeno stĺpca, použite funkciu ADDRESS vo vnútri funkcie SUBSTITUTE:

    SUBSTITUTE(ADRESA(1, column_number ,4), "1","")

    Ako príklad nájdime písmeno stĺpca zodpovedajúce číslu v A2:

    =SUBSTITUTE(ADDRESS(1,A2,4), "1","")

    Pri pohľade na výsledky nižšie môžeme povedať, že prvý stĺpec na hárku je A, čo je zrejmé; 10. stĺpec je J, 50. stĺpec je AX a 100. stĺpec je CV:

    Ako tento vzorec funguje

    Na začiatok nastavte funkciu ADDRESS tak, aby vracala relatívny odkaz na prvú bunku v cieľovom stĺpci:

    • Pre číslo riadku použite 1.
    • Pre číslo stĺpca zadajte odkaz na bunku obsahujúcu číslo, v našom prípade A2.
    • Ako argument abs_num zadajte 4.

    Výsledkom je, že ADDRESS(1,A2,4) vráti A1.

    Ak sa chcete zbaviť súradnice riadku, zabaľte vyššie uvedený vzorec do funkcie SUBSTITUTE a nahraďte "1" prázdnym reťazcom (""). Hotovo!

    Získanie adresy pomenovaného rozsahu

    Ak chcete nájsť adresu pomenovaného rozsahu v programe Excel, musíte najprv získať odkaz na prvú a poslednú bunku a potom ich spojiť. Toto funguje trochu inak v preddynamickom programe Excel (2019 a staršie) a v programe Excel s dynamickým poľom (Office 365 a Excel 2021). Nižšie uvedené príklady sú pre programy Excel 2019 - Excel 2007. Pokyny pre programy Excel 365 a Excel 2021 nájdete tu.

    Ako získať adresu prvej bunky v rozsahu

    Ak chcete vrátiť odkaz na prvú bunku v pomenovanom rozsahu, použite tento všeobecný vzorec:

    ADDRESS(ROW( rozsah ),COLUMN( rozsah ))

    Za predpokladu, že rozsah je pomenovaný "Sales", skutočný vzorec vyzerá takto:

    =ADDRESS(ROW(Sales), COLUMN(Sales))

    A vráti adresu ľavej hornej bunky v rozsahu:

    V tomto vzorci funkcie ROW a COLUMN vrátia pole všetkých čísel riadkov a stĺpcov v rozsahu. Na základe týchto čísel funkcia ADDRESS vytvorí pole adries buniek. Keďže je však vzorec zadaný v jednej bunke, zobrazí sa len prvá položka poľa, ktorá zodpovedá prvej bunke v rozsahu.

    Ako získať adresu poslednej bunky v rozsahu

    Ak chcete zistiť adresu poslednej bunky v pomenovanom rozsahu, použite tento všeobecný vzorec:

    ADDRESS(ROW( rozsah )+ROWS( rozsah )-1,COLUMN( rozsah )+COLUMNS( rozsah )-1)

    Pri použití na náš rozsah s názvom "Predaj" má vzorec nasledujúci tvar:

    =ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)

    A vráti odkaz na pravú dolnú bunku rozsahu:

    Tentoraz potrebujeme trochu zložitejšie výpočty, aby sme zistili číslo riadku. Podobne ako v predchádzajúcom príklade nám funkcia ROW poskytne pole všetkých čísel riadkov v rozsahu, v našom prípade {4;5;6;7}. Potrebujeme tieto čísla "posunúť" o celkový počet riadkov mínus 1, aby sa prvá položka v poli stala číslom posledného riadku. Na zistenie celkového počtu riadkov použijeme funkciu ROWS aod jeho výsledku odpočítame 1: (4-1=3). Potom ku každému prvku pôvodného poľa pripočítame 3, aby sme vykonali požadovaný posun: {4;5;6;7} + 3 = {7;8;9;10}.

    Číslo stĺpca sa vypočíta podobným spôsobom: {2,3,4}+3-1 = {4,5,6}

    Z uvedených polí čísel riadkov a stĺpcov funkcia ADDRESS zostaví pole adries buniek, ale vráti len prvú adresu zodpovedajúcu poslednej bunke v rozsahu.

    Rovnaký výsledok možno dosiahnuť aj výberom maximálnych hodnôt z polí čísel riadkov a stĺpcov. Toto však funguje len vo vzorci poľa, ktorý si na správne dokončenie vyžaduje stlačenie klávesovej skratky Ctrl + Shift + Enter:

    =ADDRESS(MAX(ROW(Sales)), MAX(COLUMN(Sales))

    Ako získať úplnú adresu pomenovaného rozsahu

    Ak chcete vrátiť úplnú adresu pomenovaného rozsahu, stačí spojiť dva vzorce z predchádzajúcich príkladov a vložiť medzi ne operátor rozsahu (:).

    ADDRESS(ROW( rozsah ), COLUMN( rozsah )) & ":" & ADDRESS(ROW( rozsah ) + ROWS( rozsah )-1, COLUMN( rozsah ) + COLUMNS( rozsah )-1)

    Aby to fungovalo pre našu vzorovú sadu údajov, nahradíme všeobecný názov "range" skutočným názvom rozsahu "Sales":

    =ADDRESS(ROW(Sales), COLUMN(Sales)) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)

    A získať kompletnú adresu rozsahu ako absolútne odkaz $B$4:$D$7:

    Vrátenie adresy rozsahu ako relatívne (bez znaku $, ako napríklad B4:D7), nastavte argument abs_num v oboch funkciách ADDRESS na hodnotu 4:

    =ADDRESS(ROW(Sales), COLUMN(Sales), 4) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1, 4)

    Rovnaké zmeny možno samozrejme vykonať aj v jednotlivých vzorcoch pre prvú a poslednú bunku a výsledok bude vyzerať podobne:

    Ako získať adresu pomenovaného rozsahu v aplikáciách Excel 365 a Excel 2021

    Na rozdiel od tradičného správania "jeden vzorec - jedna bunka" v starších verziách sa v novom Exceli každý vzorec, ktorý môže potenciálne vrátiť viacero hodnôt, správa automaticky. Takéto správanie sa nazýva prelievanie.

    Napríklad, namiesto vrátenia adresy prvej bunky, nasledujúci vzorec vypíše adresy každej bunky v pomenovanom rozsahu:

    =ADDRESS(ROW(Sales), COLUMN(Sales))

    Získanie adresy prvá bunka len musíte povoliť implicitný priesečník, ktorý je predvolene spustený v programe Excel 2019 a starších. Na tento účel vložte pred názvy rozsahov symbol @ (operátor implicitného priesečníka):

    =ADDRESS(@ROW(Sales), @COLUMN(Sales))

    Podobným spôsobom môžete opraviť aj iné vzorce.

    Ak chcete získať posledná bunka v rozsahu:

    =ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)

    Ak chcete získať adresa pomenovaného rozsahu :

    =ADDRESS(@ROW(Sales), @COLUMN(Sales)) & ":" & ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)

    Na nasledujúcom obrázku sú zobrazené výsledky:

    Tip. Pri otvorení pracovného hárka so vzorcami vytvorenými v staršej verzii v dynamickom poli Excel automaticky vloží operátor implicitného priesečníka.

    Takto sa v Exceli vracia adresa bunky. Ak sa chcete bližšie pozrieť na všetky vzorce, o ktorých sa hovorí v tomto návode, môžete si stiahnuť náš vzorový zošit nižšie. Ďakujem vám za prečítanie a dúfam, že sa na našom blogu uvidíme budúci týždeň!

    Cvičebnica na stiahnutie

    Funkcia Excel ADDRESS - príklady vzorcov (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.