
Všeobecný vzorec
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Zhrnutie
Ak chcete vytvoriť odkaz na dynamický pracovný hárok - odkaz na iný zošit, ktorý sa vytvorí pomocou vzorca založeného na premenných, ktoré sa môžu meniť -, môžete použiť vzorec založený na funkcii INDIRECT.
V zobrazenom príklade je vzorec v E6:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Vysvetlenie
Podstata tohto vzorca je vytvoriť úplný odkaz na rozsah v inom zošite ako text a potom pomocou funkcie INDIRECT previesť text na skutočný odkaz.
Odkaz na externý pracovný hárok vyzerá takto:
„(ukážka data.xlsx) List1“! A1
Všimnite si hranaté zátvorky (()) okolo názvu zošita, jednoduché úvodzovky („“) okolo hárka + hárka a výkričník (!), Ktorý nasleduje.
Na vytvorenie takejto referencie pomocou textu použijeme zreťazenie na spojenie hodnôt zo stĺpcov B, C a D s požadovanými zátvorkami, úvodzovkami a výkričníkom:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Výsledok sa zadá do INDIRECT ako ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
Funkcia INDIRECT potom vyhodnotí text a prevedie ho na referenciu. Excel sleduje referenciu a vracia hodnotu pri danej referencii.
Poznámka: Ak je odkaz neplatný alebo ak sašit, na ktorý sa odkazuje, nie je otvorený, INDIRECT vyvolá chybu #REF. Túto chybu môžete zachytiť pomocou funkcie IFERROR a ak chcete, môžete zobraziť vlastný výsledok.