![](https://cdn.wiki-base.com/6721394/excel_formula_dynamic_workbook_reference__2.png.webp)
Yleinen kaava
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Yhteenveto
Voit luoda dynaamisen laskentataulukon viitteen - viittauksen toiseen työkirjaan, joka on luotu kaavalla, joka perustuu muuttuviin muuttujiin. Voit käyttää INDIRECT-funktioon perustuvaa kaavaa.
Esitetyssä esimerkissä kaava kohdassa E6 on:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Selitys
Tämän kaavan ydin on rakentaa täydellinen viittaus toiseen työkirjaan alueeksi tekstinä ja muuntaa sitten INDIRECT-funktiolla teksti todelliseksi viitteeksi.
Viittaus ulkoiseen laskentataulukkoon näyttää tältä:
'(sample data.xlsx) Sheet1'! A1
Huomaa hakasulkeet (()) työkirjan nimen ympärillä, yksittäiset lainaukset ('') laskentataulukon + taulukon ympärillä ja seuraavat huutomerkki (!).
Luodaksemme tämänkaltaisen viitteen tekstin avulla, yhdistämme sarakkeiden B, C ja D arvot tarvittavilla sulkeilla, lainausmerkeillä ja huutomerkillä:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Tulos syötetään INDIRECT-tiedostoon ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
Epäsuora toiminto arvioi sitten tekstin ja muuntaa sen viitteeksi. Excel seuraa viitettä ja palauttaa arvon annetulla viitteellä.
Huomaa: jos viite on virheellinen tai jos viitattu työkirja ei ole auki, INDIRECT heittää #REF-virheen. Voit saada tämän virheen IFERROR-toiminnolla ja näyttää mukautetun tuloksen, jos haluat.