![](https://cdn.wiki-base.com/6721394/excel_formula_dynamic_workbook_reference__2.png.webp)
Formuła ogólna
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Podsumowanie
Aby zbudować odwołanie do arkusza dynamicznego - odwołanie do innego skoroszytu utworzonego za pomocą formuły opartej na zmiennych, które mogą się zmieniać - możesz użyć formuły opartej na funkcji POŚREDNI.
W pokazanym przykładzie formuła w E6 to:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Wyjaśnienie
Istotą tej formuły jest zbudowanie pełnego odwołania do zakresu w innym skoroszycie jako tekstu, a następnie użycie funkcji POŚREDNI, aby przekonwertować tekst na rzeczywiste odniesienie.
Odniesienie do zewnętrznego arkusza roboczego wygląda następująco:
'(przykładowe dane.xlsx) Arkusz1'! A1
Zwróć uwagę na nawiasy kwadratowe (()) wokół nazwy skoroszytu, pojedyncze cudzysłowy ('') wokół arkusza i arkusza oraz wykrzyknik (!) Następujący po nim.
Aby utworzyć takie odniesienie przy użyciu tekstu, używamy konkatenacji, aby połączyć wartości z kolumn B, C i D z wymaganymi nawiasami kwadratowymi, cudzysłowami i wykrzyknikiem:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Wynik jest wprowadzany do INDIRECT jako ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
Następnie funkcja INDIRECT ocenia tekst i konwertuje go na odniesienie. Excel śledzi odwołanie i zwraca wartość w podanym odwołaniu.
Uwaga: jeśli odwołanie jest nieprawidłowe lub jeśli skoroszyt, do którego się odwołuje, nie jest otwarty, polecenie POŚREDNIE zgłosi błąd #REF. Możesz złapać ten błąd za pomocą funkcji IFERROR i wyświetlić niestandardowy wynik, jeśli chcesz.