
Formuła ogólna
=INDIRECT(sheet_name&"!A1")
Podsumowanie
Aby utworzyć formułę z dynamiczną nazwą arkusza, możesz użyć funkcji POŚREDNI. W pokazanym przykładzie formuła w C6 to:
=INDIRECT(B6&"!A1")
Uwaga: celem INDIRECT jest tutaj zbudowanie formuły, w której nazwa arkusza jest zmienną dynamiczną. Na przykład możesz zmienić nazwę arkusza (być może za pomocą menu rozwijanego) i pobrać informacje z innego arkusza.
Wyjaśnienie
Funkcja POŚREDNI próbuje ocenić tekst jako odwołanie do arkusza. Umożliwia to tworzenie formuł, które łączą odwołanie jako tekst przy użyciu konkatenacji i wykorzystują wynikowy tekst jako prawidłowe odniesienie.
W tym przykładzie mamy nazwy arkuszy w kolumnie B, więc łączymy nazwę arkusza z odwołaniem do komórki A1 za pomocą konkatenacji:
=INDIRECT(B6&"!A1")
Po konkatenacji mamy:
=INDIRECT("Sheet1!A1")
POŚREDNI rozpoznaje to jako prawidłowe odwołanie do komórki A1 w Arkuszu1 i zwraca wartość w A1, 100. W komórce C7 formuła oblicza następująco:
=INDIRECT(B7&"!A1") =INDIRECT("Sheet2!A1") =Sheet2!A1 =200
I tak dalej, dla każdej formuły w kolumnie C.
Obsługa spacji i znaków interpunkcyjnych w nazwach arkuszy
Jeśli nazwy arkuszy zawierają spacje lub znaki interpunkcyjne, musisz dostosować formułę, aby zawijać nazwę arkusza w pojedyncze cudzysłowy (') w następujący sposób:
=INDIRECT("'"&sheet_name&"'!A1")
gdzie nazwa_arkusza to odniesienie zawierające nazwę arkusza. W przykładzie na tej stronie wzór wyglądałby tak:
=INDIRECT("'"&B6&"'!A1")
Należy zauważyć, że to wymaganie nie jest specyficzne dla funkcji POŚREDNI. Każda formuła, która odwołuje się do nazwy arkusza ze spacją lub interpunkcją, musi zawierać nazwę arkusza w pojedynczych cudzysłowach.