![](https://cdn.wiki-base.com/6721394/excel_formula_dynamic_workbook_reference__2.png.webp)
Generička formula
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Sažetak
Da biste izradili dinamičku referencu radnog lista - referencu na drugu radnu knjigu koja je kreirana s formulom koja se temelji na varijablama koje se mogu mijenjati - možete upotrijebiti formulu koja se temelji na INDIRECT funkciji.
U prikazanom primjeru formula u E6 je:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Obrazloženje
Suština ove formule je izgraditi potpunu referencu na raspon u drugoj radnoj knjizi kao tekst, a zatim upotrijebiti funkciju INDIRECT za pretvaranje teksta u stvarnu referencu.
Referenca na vanjski radni list izgleda ovako:
'(uzorak podataka.xlsx) List1'! A1
Obratite pažnju na uglate zagrade (()) oko naziva radne knjige, pojedinačne navodnike ('') oko radnog lista + lista i uskličnika (!) Koji slijedi.
Da bismo stvorili referencu poput ove pomoću teksta, koristimo spajanje za spajanje vrijednosti iz stupaca B, C i D s potrebnim zagradama, navodnicima i uskličnikom:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Rezultat se unosi u INDIRECT kao ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
Zatim funkcija INDIRECT obrađuje tekst i pretvara ga u referencu. Excel slijedi referencu i vraća vrijednost na zadanoj referenci.
Napomena: ako je referenca nevaljana ili ako navedena radna knjiga nije otvorena, INDIRECT će izbaciti pogrešku #REF. Ovu pogrešku možete uhvatiti pomoću funkcije IFERROR i prikazati prilagođeni rezultat ako želite.