
Generisk formel
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Sammendrag
For å lage en dynamisk regnearkreferanse - en referanse til en annen arbeidsbok som er opprettet med en formel basert på variabler som kan endres - kan du bruke en formel basert på INDIRECT-funksjonen.
I eksemplet vist er formelen i E6:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Forklaring
Kjernen i denne formelen er å bygge opp en fullstendig referanse til et område i en annen arbeidsbok som tekst, og bruk deretter INDIREKTE-funksjonen til å konvertere teksten til en faktisk referanse.
En referanse til et eksternt regneark ser slik ut:
'(eksempeldata.xlsx) Ark1'! A1
Legg merke til hakeparentesene (()) rundt arbeidsboknavnet, enkelt anførselstegn ('') rundt regnearket + arket og utropstegnet (!) Som følger.
For å lage en referanse som denne ved hjelp av tekst, bruker vi sammenføyning for å koble til verdier fra kolonne B, C og D med de nødvendige parentesene, anførselstegnene og utropstegnet:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Resultatet mates inn i INDIRECT som ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
INDIRECT-funksjonen evaluerer deretter teksten og konverterer den til en referanse. Excel følger referansen og returnerer verdien ved den gitte referansen.
Merk: hvis referansen er ugyldig, eller hvis arbeidsboken det refereres til ikke er åpen, vil INDIRECT kaste en #REF-feil. Du kan fange denne feilen med IFERROR-funksjonen og vise et tilpasset resultat hvis du vil.