
Všeobecný vzorec
=INDIRECT(sheet_name&"!A1")
Zhrnutie
Ak chcete vytvoriť vzorec s dynamickým názvom hárka, môžete použiť funkciu NEPRIAME. V zobrazenom príklade je vzorec v C6:
=INDIRECT(B6&"!A1")
Poznámka: Jedná sa o INDIRECT, kde je potrebné vytvoriť vzorec, v ktorom je názov hárka dynamická premenná. Môžete napríklad zmeniť názov hárka (možno pomocou rozbaľovacej ponuky) a načítať informácie z iného hárka.
Vysvetlenie
Funkcia INDIRECT sa pokúša vyhodnotiť text ako odkaz na pracovný hárok. To umožňuje vytvárať vzorce, ktoré zostavujú referencie ako text pomocou zreťazenia, a výsledný text použiť ako platnú referenciu.
V tomto príklade máme v stĺpci B názvy listov, takže názov reťazca spojíme s odkazom na bunku A1 pomocou zreťazenia:
=INDIRECT(B6&"!A1")
Po zreťazení máme:
=INDIRECT("Sheet1!A1")
INDIRECT to rozpozná ako platný odkaz na bunku A1 v hárku1 a vráti hodnotu v A1, 100. V bunke C7 sa vzorec vyhodnotí takto:
=INDIRECT(B7&"!A1") =INDIRECT("Sheet2!A1") =Sheet2!A1 =200
A tak ďalej, pre každý vzorec v stĺpci C.
Manipulácia s medzerami a interpunkciou v názvoch hárkov
Ak názvy hárkov obsahujú medzery alebo interpunkčné znaky, budete musieť upraviť vzorec tak, aby bol názov hárku zabalený do jednoduchých úvodzoviek ('), napríklad takto:
=INDIRECT("'"&sheet_name&"'!A1")
kde list_name je referencia, ktorá obsahuje názov listu. Pre príklad na tejto stránke by vzorec bol:
=INDIRECT("'"&B6&"'!A1")
Upozorňujeme, že táto požiadavka nie je špecifická pre funkciu INDIRECT. Akýkoľvek vzorec, ktorý odkazuje na názov hárku s medzerou alebo interpunkciou, musí obsahovať názov hárku v jednoduchých úvodzovkách.