![](https://cdn.wiki-base.com/6721394/excel_formula_dynamic_workbook_reference__2.png.webp)
Generisk formel
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Resumé
For at oprette en dynamisk regnearksreference - en henvisning til en anden projektmappe, der oprettes med en formel baseret på variabler, der kan ændre sig - kan du bruge en formel baseret på funktionen INDIRECT.
I det viste eksempel er formlen i E6:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Forklaring
Kernen i denne formel er at opbygge en komplet reference til et interval i en anden projektmappe som tekst, og brug derefter INDIREKTE-funktionen til at konvertere teksten til en faktisk reference.
En henvisning til et eksternt regneark ser sådan ud:
'(eksempeldata.xlsx) Ark1'! A1
Bemærk de firkantede parenteser (()) omkring projektmappens navn, enkelt anførselstegn ('') omkring regnearket + arket og udråbstegn (!), Der følger.
For at oprette en reference som denne ved hjælp af tekst bruger vi sammenkædning til at sammenføje værdier fra kolonne B, C og D med de krævede parenteser, anførselstegn og udråbstegn:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Resultatet føres ind i INDIRECT som ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
INDIRECT-funktionen evaluerer derefter teksten og konverterer den til en reference. Excel følger referencen og returnerer værdien ved den givne reference.
Bemærk: hvis referencen er ugyldig, eller hvis den projektmappe, der henvises til, ikke er åben, vil INDIRECT kaste en #REF-fejl. Du kan fange denne fejl med IFERROR-funktionen og få vist et brugerdefineret resultat, hvis du vil.