Menu

Błąd #ADR! (#REF!) w Excelu: przyczyny i jak go naprawić

#ADR! oznacza, że formuła odwołuje się do komórki, która już nie istnieje, zwykle dlatego, że usunięto używany przez nią wiersz, kolumnę albo arkusz: =B2*C2 zmienia się w =B2*#ADR!. Pojawia się też, gdy WYSZUKAJ.PIONOWO albo INDEKS prosi o kolumnę lub wiersz spoza zakresu.

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

#ADR! (po angielsku #REF!) oznacza, że formuła odwołuje się do komórki, której nie ma. Tabele na tej stronie pokazują angielskie nazwy błędów. Zwykłą przyczyną jest usunięty wiersz, kolumna albo arkusz: po usunięciu kolumny C Excel przepisuje =B2*C2 jako =B2*#ADR! (w tabeli =B2*#REF!), a wynik od tej chwili to #ADR!. Naciśnij Ctrl+Z (na Macu Cmd+Z) zaraz po usunięciu, żeby odzyskać kolumnę i formułę.

Po usunięciu kolumny
D2
ABCD
1ProductPriceQtyTotal
2Apple1.210#REF!
3Pear1.520#REF!
4Plum0.815#REF!
5Bread2.45#REF!
#REF! Formuła odwołuje się do komórki, która nie istnieje.W polskim Excelu: =B2*#REF!

Kolumnę z ilością usunięto i wpisano na nowo, ale formuła nadal zawiera #REF!: Excel nigdy nie naprawia odwołania, które raz zniknęło. Kliknij D2, zastąp #REF! przez C2 i naciśnij Enter. Cała kolumna się dostosuje, a D2 pokaże 12.

Jak #ADR! trafia do formuły

Excel wpisuje #ADR! do formuły za każdym razem, gdy znika komórka, której formuła używała:

Co zrobiłeś=B2*C2 w D2 zmienia się w
Usunąłeś kolumnę C=B2*#ADR!
Usunąłeś wiersz 2formuła znika razem ze swoim wierszem; formuły w innych wierszach, które wskazywały wiersz 2, dostają #ADR!
Usunąłeś arkusz, do którego formuła się odwołuje=#ADR!B2*2 (dla formuły takiej jak =Prices!B2*2)
Wyciąłeś komórkę i wkleiłeś ją na komórkę używaną przez formułę#ADR! w miejscu nadpisanego odwołania

Usuwanie komórek wewnątrz zakresu jest bezpieczne: =SUMA(B2:D2) (po angielsku SUM) zmienia się w =SUMA(B2:C2), gdy usuniesz kolumnę C. Usunięcie pierwszej albo ostatniej komórki zakresu tylko go zmniejsza. Dlatego =SUMA(B2:D2) jest bezpieczniejsza niż =B2+C2+D2, która zmienia się w =B2+#ADR!+C2. Formuły w tabelach możesz wpisywać także po polsku, ze średnikami.

Dlaczego WYSZUKAJ.PIONOWO zwraca #ADR!

Trzeci argument WYSZUKAJ.PIONOWO (VLOOKUP) liczy kolumny wewnątrz zakresu tabeli. Jeśli jest większy niż liczba kolumn zakresu, wynik to #ADR!.

Numer kolumny poza zakresem
F2
ABCDEF
1ProductPriceStockLook forStock
2Apple1.240Pear#REF!
3Pear1.525
4Plum0.860
5Bread2.412
6Milk1.130
#REF! Formuła odwołuje się do komórki, która nie istnieje.W polskim Excelu: =WYSZUKAJ.PIONOWO(E2;A2:C6;4;FAŁSZ)

A2:C6 ma trzy kolumny, więc 4 nie istnieje. Zmień 4 na 3, a F2 pokaże 25. Zdarza się to najczęściej po usunięciu kolumny z tabeli wyszukiwania: zakres się zmniejsza, a wpisany na sztywno numer kolumny nie. X.WYSZUKAJ (XLOOKUP) albo INDEKS z PODAJ.POZYCJĘ tego unikają, bo wskazują zwracaną kolumnę bezpośrednio, jak w =X.WYSZUKAJ(E2;A2:A6;C2:C6). Pozostałe argumenty opisuje strona WYSZUKAJ.PIONOWO.

#ADR! przy INDEKS i PRZESUNIĘCIE

INDEKS (INDEX) zwraca #ADR!, gdy numer wiersza albo kolumny leży poza zakresem, a PRZESUNIĘCIE (OFFSET), gdy przesuwa się powyżej wiersza 1 albo przed kolumnę A.

Pozycje poza zakresem
B2
ABC
1ScoreResultWhat it asks for
288#REF!6th value of 5
372953rd value of 5
495#REF!2 rows above A2
564814 rows below A2
681
#REF! Formuła odwołuje się do komórki, która nie istnieje.W polskim Excelu: =INDEKS(A2:A6;6)

A2:A6 ma pięć wyników, więc INDEKS(A2:A6;6) daje #ADR!, a INDEKS(A2:A6;3) zwraca 95. Wiersz 0 nie istnieje, więc PRZESUNIĘCIE(A2;-2;0) daje #ADR!, a PRZESUNIĘCIE(A2;4;0) trafia na A6: 81. Gdy pozycja pochodzi z innej formuły (PODAJ.POZYCJĘ, ILE.LICZB), najpierw sprawdź tamtą formułę. Więcej na stronie INDEKS.

ADR.POŚR (INDIRECT) też daje #ADR!, gdy jej tekst nie jest poprawnym adresem (=ADR.POŚR("ZZZ1"), bo ostatnia kolumna to XFD) albo wskazuje zamknięty skoroszyt.

#ADR! przy kopiowaniu formuły

Odwołanie względne przesuwa się razem z formułą. Skopiuj ją wystarczająco daleko w górę albo w bok, a odwołanie wypadnie poza arkusz:

C3:  =B2*2        (one row up, one column back)
copy C3 to B2:  =A1*2
copy C3 to A2:  =#REF!*2    (there is no column before A)

W polskim Excelu ostatnia formuła to =#ADR!*2. To samo dzieje się, gdy formuła skopiowana do innego arkusza albo skoroszytu wskazuje komórki, których tam nie ma. Zablokuj komórki, które nie mogą się przesuwać, znakiem $ (=$B$2*2) albo skopiuj tekst formuły z paska formuły zamiast komórki. $ wyjaśnia strona o odwołaniach bezwzględnych.

Znajdowanie i usuwanie każdego #ADR! w skoroszycie

  1. Naciśnij Ctrl+F (na Macu Cmd+F), wpisz #ADR!, otwórz Opcje, ustaw Szukaj w na Formuły i kliknij Znajdź wszystko. Lista pokaże każdą formułę z uszkodzonym odwołaniem.
  2. Aby naprawić wiele naraz, użyj Ctrl+H (na Macu Control+H): znajdź #ADR! i zamień na właściwe odwołanie, ale tylko wtedy, gdy każde trafienie ma dostać tę samą komórkę.
  3. Sprawdź Formuły > Menedżer nazw: nazwa, której kolumna Odwołuje się do pokazuje #ADR!, psuje każdą formułę, która jej używa.
  4. Jeśli usunięte dane przepadły, a formuła nie jest już potrzebna, zaznacz komórki i zastąp formuły ich wartościami (Kopiuj, potem Narzędzia główne > Wklej > Wartości). Wartości błędów zostają błędami, więc potem usuń te komórki.

Naprawa wyszukiwania, które zwraca #ADR!

Naprawa wyszukiwania stanu
F2
ABCDEF
1ProductPriceStockLook forStock
2Apple1.240Plum
3Pear1.525
4Plum0.860
5Bread2.412
6Milk1.130
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: =VLOOKUP(E2,A2:C6,4,FALSE) zwróciło #REF!. Napisz w F2 działające wyszukiwanie, które zwraca stan magazynowy produktu z E2.

Zaliczone zostanie każde wyszukiwanie, które zwraca tu 60 i idzie za danymi: WYSZUKAJ.PIONOWO z kolumną 3, =X.WYSZUKAJ(E2;A2:A6;C2:C6) albo =INDEKS(C2:C6;PODAJ.POZYCJĘ(E2;A2:A6;0)).

Najczęściej zadawane pytania

Co oznacza #ADR! w Excelu?

Formuła wskazuje komórkę, która nie istnieje. Najczęściej usunięto wiersz, kolumnę albo arkusz, których formuła używała, a Excel zastąpił odwołanie przez #ADR!, więc =B2*C2 zmieniło się w =B2*#ADR!. WYSZUKAJ.PIONOWO i INDEKS też zwracają #ADR!, gdy numer kolumny albo wiersza jest większy niż zakres.

Jak naprawić #ADR! po usunięciu kolumny?

Od razu naciśnij Ctrl+Z (na Macu Cmd+Z), żeby cofnąć usunięcie. Jeśli jest za późno, kliknij formułę i zastąp #ADR! komórką, której powinna używać, a potem ponownie skopiuj formułę w dół.

Dlaczego WYSZUKAJ.PIONOWO zwraca #ADR!?

Numer kolumny jest większy niż liczba kolumn zakresu tabeli. =WYSZUKAJ.PIONOWO(E2;A2:C6;4;FAŁSZ) prosi o czwartą kolumnę zakresu z trzema kolumnami. Użyj 3 albo poszerz zakres do A2:D6.

Jak znaleźć wszystkie błędy #ADR! w skoroszycie?

Naciśnij Ctrl+F (na Macu Cmd+F), wyszukaj #ADR!, ustaw Szukaj w na Formuły i kliknij Znajdź wszystko. Excel wypisze każdą formułę z uszkodzonym odwołaniem. Sprawdź też Formuły > Menedżer nazw: nazwy mogą po usunięciu wskazywać #ADR!.

Jak uniknąć #ADR! przy usuwaniu wierszy albo kolumn?

Odwołuj się do zakresów zamiast pojedynczych komórek. =SUMA(B2:D2) zmniejsza się do =SUMA(B2:C2), gdy usuniesz kolumnę C albo D, a =B2+C2+D2 zmienia się w =B2+#ADR!+C2. Wyszukiwania, które wskazują zwracaną kolumnę, takie jak =X.WYSZUKAJ(E2;A2:A6;C2:C6), przetrwają wstawianie kolumn i usuwanie kolumn, których nie używają.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ