Excel-formel: Dynamisk arbeidsbokreferanse -

Innholdsfortegnelse

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.

Interessante artikler...