Menu

ADR.POŚR (INDIRECT) w Excelu: tekst jako odwołanie

=ADR.POŚR("C"&E2) odczytuje komórkę, której adres jest zbudowany jako tekst: kolumna C, wiersz z E2. Użyj jej, aby wybrać arkusz po nazwie z komórki, zbudować zakres z liczb i tworzyć zależne listy rozwijane.

Każdy arkusz na tej stronie działa na żywo: zmień liczbę albo formułę, a się przeliczy.

=ADR.POŚR(E2) (po angielsku INDIRECT) odczytuje komórkę, której adres jest wpisany jako tekst w E2. Jeśli E2 zawiera C4, formuła zwraca wartość z C4. Adres można też zbudować z części: =ADR.POŚR("C"&E3) odczytuje kolumnę C w wierszu o numerze z E3. Tabele pokazują formuły po angielsku, ale możesz w nich wpisywać formuły także po polsku, ze średnikami.

Odwołanie zapisane jako tekst
F2
ABCDEF
1ProductCategoryPriceAddressValue
2AppleFruit$1.20C4$0.80
3PearFruit$1.506$1.10
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =ADR.POŚR(E2)

F2 odczytuje C4, cenę Carrot, $0.80. Zmień E2 na C3 albo B5, a F2 się dostosuje. F3 łączy "C" i 6 z E3 w adres C6 i zwraca $1.10. Zmień E3 na 2, aby dostać cenę Apple.

Składnia funkcji ADR.POŚR

=INDIRECT(ref_text, [a1])
  • ref_text (adres_tekst): tekst, który zapisuje odwołanie: "C4", "B2:B6", "Prices!A2", "'Price list'!A2:B9".
  • a1: PRAWDA albo pominięty dla adresów w stylu A1. FAŁSZ czyta styl R1C1, w którym "R4C3" oznacza wiersz 4, kolumnę 3; to pasuje, gdy i wiersz, i kolumna są liczbami. W polskim Excelu ten styl zapisuje się jako W1K1 (wiersz, kolumna), czyli "W4K3".

Jeśli tekst nie jest poprawnym adresem, wynikiem jest #ADR! (po angielsku #REF!). ADR.POŚR zwraca prawdziwe odwołanie, więc działa w SUMA, LICZ.JEŻELI, WYSZUKAJ.PIONOWO i każdej funkcji, która przyjmuje zakres.

Zakres zbudowany z liczb

Adres może być całym zakresem. Doklejenie do niego liczby daje zakres, którego rozmiar pochodzi z komórki.

Suma pierwszych N wierszy
F2
ABCDEF
1MonthSalesRowsTotal
2Jan4,200312,900
3Feb3,900
4Mar4,800
5Apr5,100
6May4,600
7Jun5,300
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =SUMA(ADR.POŚR("B2:B"&(1+E2)))

Przy 3 w E2 tekst zmienia się w B2:B4, a F2 dodaje Jan do Mar: 12,900. W polskim Excelu formuła to =SUMA(ADR.POŚR("B2:B"&(1+E2))). Ustaw E2 na 6, aby dostać pół roku, 27,900. 1+E2 jest potrzebne, bo dane zaczynają się w wierszu 2. Tę samą sumę można zapisać bez ADR.POŚR, =SUMA(B2:INDEKS(B2:B7;E2)), która nie jest nietrwała; strona o PRZESUNIĘCIE porównuje te sposoby.

Odwołanie do arkusza nazwanego w komórce

Nazwa arkusza też może pochodzić z komórki. Dzięki temu jedna formuła podsumowania staje się wyszukiwaniem po arkuszach: każdy wiersz czyta arkusz nazwany w kolumnie A. Apostrofy wokół nazwy sprawiają, że działa to także dla nazw ze spacjami.

Jedna suma na każdy arkusz miesiąca
B2
AB
1MonthTotal
2Jan12,500
3Feb12,200
4Mar13,700
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =SUMA(ADR.POŚR("'"&A2&"'!B2:B4"))

B2 buduje tekst 'Jan'!B2:B4 i go sumuje: 12,500. W polskim Excelu formuła to =SUMA(ADR.POŚR("'"&A2&"'!B2:B4")). B3 i B4 to ta sama formuła skopiowana w dół, więc czytają Feb (12,200) i Mar (13,700). Otwórz kartę Feb i zmień liczbę: podsumowanie się dostosuje. Wpisz Feb w miejsce Jan w A2, a B2 zsumuje Feb. B2:B4 w cudzysłowie to tekst, więc nie zmienia się przy kopiowaniu formuły w dół; zmienia się tylko odwołanie do A2.

Zależne listy rozwijane

Druga lista rozwijana, której elementy zależą od pierwszej, to klasyczne zadanie dla ADR.POŚR. W Excelu zwykle robi się to tak:

  1. Elementy każdej kategorii wpisz w osobnej kolumnie i nazwij każdy zakres nazwą kategorii: zaznacz kolumny razem z nagłówkami i użyj Formuły > Utwórz z zaznaczenia > Górny wiersz. To tworzy nazwy Fruit, Vegetable i Dairy.
  2. Nadaj A2 listę kategorii: Dane > Poprawność danych, Zezwalaj: Lista, Źródło Fruit,Vegetable,Dairy (w polskim Excelu elementy oddzielasz średnikami).
  3. Nadaj B2 listę ze Źródłem =ADR.POŚR(A2). Gdy A2 zawiera Fruit, lista czyta zakres o nazwie Fruit.

Tabela poniżej buduje to samo z arkuszem dla każdej kategorii zamiast nazwanego zakresu. D2 używa ADR.POŚR, aby rozlać elementy arkusza nazwanego w A2, a lista w B2 czyta D2:D4.

Lista elementów zależna od kategorii
D2
ABCD
1CategoryItemItems for the category
2FruitAppleApple
3Pear
4Plum
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =ADR.POŚR("'"&A2&"'!A2:A4")

Wybierz Dairy w A2: D2:D4 zmienia się na Milk, Butter, Cheese, a razem z nimi wybory w B2. B2 zachowuje starą wartość, dopóki nie wybierzesz nowej; Excel zachowuje się tak samo, dlatego formularze często dodają obok elementu sprawdzenie, na przykład =LICZ.JEŻELI(D2:D4;B2)>0. W Excelu 365 możesz pominąć nazwane zakresy i skierować drugą listę na rozlaną formułę, na przykład =ADR.POŚR("'"&A2&"'!A2:A4") w komórce pomocniczej i =D2# jako Źródło. Strona o liście rozwijanej opisuje resztę konfiguracji.

ADR.POŚR jest nietrwała i ignoruje wstawione wiersze

Dwa efekty uboczne wynikają z tego, że ADR.POŚR czyta tekst zamiast odwołania:

  • Przelicza się po każdej zmianie. Excel nie wie, na które komórki wskaże tekst, więc przelicza każdą funkcję ADR.POŚR po każdej edycji w dowolnym miejscu skoroszytu. Kilkadziesiąt nie szkodzi; dziesiątki tysięcy spowalniają każde naciśnięcie klawisza. INDEKS z numerem wiersza (=INDEKS(C:C;E3)) daje ten sam wynik co =ADR.POŚR("C"&E3) i przelicza się tylko wtedy, gdy zmieniają się jego dane wejściowe.
  • Adres się nie przesuwa. Wstaw wiersz nad wierszem 4, a =C4 zmieni się w =C5, ale =ADR.POŚR("C4") nadal czyta C4, który jest teraz innym wierszem. Czasem właśnie o to chodzi: odwołanie ma zostać na stałej komórce bez względu na to, co dzieje się z arkuszem. Częściej to błąd, który czeka, aż ktoś wstawi wiersz.

ADR.POŚR do innego skoroszytu działa tylko wtedy, gdy ten skoroszyt jest otwarty; gdy jest zamknięty, zwraca #ADR!.

Ćwiczenie: cena według numeru wiersza

Cennik
F2
ABCDEF
1ProductCategoryPriceRowPrice
2AppleFruit$1.205
3PearFruit$1.50
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: W F2 użyj ADR.POŚR, aby zwrócić cenę z kolumny C w wierszu o numerze wpisanym w E2.

Najczęściej zadawane pytania

Co robi funkcja ADR.POŚR w Excelu?

Zamienia tekst w odwołanie. =ADR.POŚR("C4") zwraca wartość z C4, a =ADR.POŚR(E2) zwraca wartość z komórki, której adres jest wpisany w E2. Adres można zbudować za pomocą &, więc =ADR.POŚR("C"&E2) odczytuje kolumnę C w wierszu o numerze z E2.

Jak odwołać się do innego arkusza, którego nazwa jest w komórce?

Zbuduj adres z nazwą arkusza w apostrofach: =ADR.POŚR("'"&A2&"'!B2"). Apostrofy sprawiają, że działa to także dla nazw ze spacjami. =SUMA(ADR.POŚR("'"&A2&"'!B2:B4")) sumuje zakres na tym arkuszu.

Dlaczego ADR.POŚR zwraca #ADR!?

Tekst nie jest poprawnym adresem albo nazywa arkusz, który nie istnieje, albo wskazuje inny skoroszyt, który jest zamknięty. Sprawdź tekst, który buduje formuła, wpisując to samo wyrażenie bez ADR.POŚR w osobnej komórce.

Czy ADR.POŚR jest funkcją nietrwałą?

Tak. Excel przelicza każdą funkcję ADR.POŚR po każdej zmianie w dowolnym miejscu skoroszytu, bo nie wie z góry, na które komórki wskaże tekst. Kilka nie szkodzi; tysiące spowalniają skoroszyt. INDEKS często wykonuje to samo zadanie bez bycia nietrwałym.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ