Menu

Lista rozwijana w Excelu: jak ją zrobić (poprawność danych)

Zaznacz komórki, przejdź do Dane > Poprawność danych, wybierz Lista i wpisz pozycje (North;South;East) albo zaznacz zakres jako źródło. Potem zrób listę dynamiczną z UNIKATOWE, zależną od innej listy, i wyszukaj wybraną pozycję.

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

Aby zrobić listę rozwijaną w Excelu, zaznacz komórki, przejdź do Dane > Poprawność danych, ustaw Dozwolone na Lista, w polu Źródło wpisz pozycje oddzielone średnikami (North;South;East;West) albo zaznacz zakres, który je zawiera, i naciśnij OK. Każda komórka pokazuje teraz strzałkę z tymi wyborami, a inne wpisy są odrzucane.

Wybór regionu
E2
ABCDEF
1RepRegionSalesRegionSales
2AnaNorth120North360
3BenSouth85
4CaraNorth240
5DanEast60
6EveSouth150
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

F2 pokazuje 360, sumę dla North. Wybierz North w B3, a F2 wzrośnie o 85 Bena. E2 też ma listę rozwijaną: wybierz tam South, a F2 pokaże sumę dla South. Lista do wprowadzania danych i formuła, która ją czyta, to najczęstsze zastosowanie listy rozwijanej. Tabela pokazuje formułę po angielsku, =SUMIF(B2:B6,E2,C2:C6), ale możesz w niej wpisywać formuły także po polsku, ze średnikami: =SUMA.JEŻELI(B2:B6;E2;C2:C6).

Jak zrobić listę rozwijaną krok po kroku

  1. Zaznacz komórki, które mają dostać listę, na przykład B2:B6.
  2. Przejdź do Dane > Poprawność danych (grupa Narzędzia danych). W angielskim Excelu dla Windows sekwencja klawiszy to Alt, A, V, V.
  3. Na karcie Ustawienia ustaw Dozwolone na Lista.
  4. W polu Źródło albo wpisz pozycje oddzielone średnikami, North;South;East;West, albo kliknij w pole i zaznacz na arkuszu zakres z pozycjami, co wpisze =$F$2:$F$5.
  5. Zostaw zaznaczone Rozwinięcie w komórce (bez tego nie ma strzałki, jest tylko sprawdzanie).
  6. Naciśnij OK.

Aby otworzyć listę z klawiatury, zaznacz komórkę i naciśnij Alt+Strzałka w dół (Windows) albo Option+Strzałka w dół (Mac). W Excelu dla Microsoft 365 wpisanie pierwszych liter w komórce zawęża listę do pasujących pozycji.

Dwie opcjonalne karty w tym samym oknie: Komunikat wejściowy pokazuje podpowiedź po zaznaczeniu komórki, a Alert o błędzie ustala, co się dzieje, gdy ktoś wpisze wartość spoza listy. Przy stylu Zatrzymaj (domyślnym) wpis jest odrzucany; przy Ostrzeżenie albo Informacje jest dozwolony po komunikacie. Odznacz Pokazuj alert o błędzie po wprowadzeniu nieprawidłowych danych, aby pozwolić wpisywać cokolwiek i nadal oferować listę.

Wpisane pozycje oddziela się separatorem listy z ustawień regionalnych komputera. W polskich ustawieniach, tak jak w innych krajach z przecinkiem dziesiętnym, jest to średnik: North;South;East;West.

Lista rozwijana z zakresu komórek

Listy wpisanej w oknie nie widać, a edytuje się ją tylko tam. Lista w komórkach jest łatwiejsza w utrzymaniu: zmień komórkę, a zmieni się każda lista rozwijana, która jej używa. Tutaj regiony są w E2:E5, a lista rozwijana w B2:B6 używa tego zakresu jako źródła.

Pozycje listy z komórek
B2
ABCDE
1RepRegionSalesRegions
2AnaNorth120North
3BenSouth85South
4CaraNorth240East
5DanEast60West
6EveSouth150
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Zmień E5 z West na Central, a potem otwórz dowolną strzałkę w kolumnie B: lista oferuje Central zamiast West. Wartości już wybrane w kolumnie B się nie zmieniają.

Aby użyć zakresu z innego arkusza, co jest zwykłym sposobem ukrycia list, wpisz w polu Źródło nazwę arkusza: =Lists!$A$2:$A$5. Aby lista rosła po dopisaniu pozycji na dole, najpierw zamień pozycje w tabelę (zaznacz je, Wstawianie > Tabela), a potem zaznacz kolumnę tabeli jako źródło: odwołanie rozszerza się razem z tabelą.

Dynamiczna lista rozwijana z UNIKATOWE

Gdy pozycje mają pochodzić z samych danych (każdy region, który występuje w kolumnie, każdy raz), zbuduj listę formułą i wskaż liście rozwijanej jej wynik. =SORTUJ(UNIKATOWE(B2:B8)) w G2 rozlewa różne regiony w kolejności alfabetycznej.

Regiony wzięte z danych
E2
ABCDEFG
1RepRegionSalesPickSalesRegions
2AnaNorth120South235East
3BenSouth85North
4CaraNorth240South
5DanEast60West
6EveSouth150
7FayWest95
8GusEast110
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

G2 rozlewa East, North, South, West, a lista rozwijana w E2 oferuje te cztery. Zmień B7 na Central, a Central pojawi się i w rozlaniu, i na liście.

W Excelu ustaw Źródło listy rozwijanej na =$G$2#. # po komórce oznacza „całe rozlanie tej formuły”, więc lista zawsze ma dokładnie długość wyniku, bez pustych wierszy na końcu. Odwołanie do rozlania wymaga Excela 365 albo 2021; komórka źródłowa może być na innym arkuszu (=Lists!$A$2#). Jeśli kolumna danych ma puste komórki, UNIKATOWE zwraca dla nich 0; pomiń je formułą =SORTUJ(UNIKATOWE(FILTRUJ(B2:B100;B2:B100<>""))). Funkcję opisuje szczegółowo strona UNIKATOWE (UNIQUE).

Zależne listy rozwijane

Lista zależna zmienia się razem z wyborem w innej komórce: wybierz Fruit w A2, a B2 zaoferuje tylko owoce. W Excelu 365 i 2021 drugą listę buduje formuła FILTRUJ (FILTER): =FILTRUJ(E2:E8;D2:D8=A2) zwraca pozycje, których kategoria zgadza się z A2, a lista rozwijana w B2 używa tego rozlania jako źródła.

Kategoria, potem pozycja
A2
ABCDEFG
1CategoryItemCategoryItemItems
2FruitPearFruitAppleApple
3FruitPearPear
4VegetableCarrotKiwi
5VegetableLeek
6BakeryBread
7FruitKiwi
8BakeryBagel
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Przy Fruit w A2 komórka G2 rozlewa Apple, Pear i Kiwi i to są wybory w B2. Wybierz Bakery w A2: G2 zmieni się na Bread i Bagel. B2 nadal pokazuje Pear, dopóki nie wybierzesz ponownie, bo lista rozwijana nigdy nie zmienia wartości, która już jest w komórce. W Excelu źródłem dla B2 jest =$G$2#.

W starszych wersjach Excela klasyczny sposób używa ADR.POŚR (INDIRECT) i nazwanych zakresów:

  1. Umieść pozycje każdej kategorii w osobnej kolumnie, z nazwą kategorii jako nagłówkiem: Fruit w jednej kolumnie, Vegetable w następnej.
  2. Zaznacz każdą kolumnę pozycji i nazwij ją jak jej kategorię w Polu nazwy (na lewo od paska formuły): Fruit, Vegetable, Bakery.
  3. Daj komórce A2 listę rozwijaną ze źródłem Fruit;Vegetable;Bakery.
  4. Daj komórce B2 listę rozwijaną ze źródłem =ADR.POŚR(A2). ADR.POŚR zamienia tekst z A2 w odwołanie do zakresu o tej nazwie.

Nazwy muszą dokładnie odpowiadać tekstowi kategorii i nie mogą zawierać spacji (użyj Dairy_Products albo w źródle =ADR.POŚR(PODSTAW(A2;" ";"_"))). Więcej o tej funkcji na stronie ADR.POŚR.

Wyszukiwanie wartości wybranej pozycji

Lista rozwijana często jest wejściem formularza zamówienia albo oferty: użytkownik wybiera produkt, a wyszukiwanie wpisuje jego cenę.

Cena wybranego produktu
B2
ABCDEF
1ProductPriceProductPrice
2OrderPearApple$1.20
3Pear$1.50
4Carrot$0.80
5Bread$2.40
6Milk$1.10
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: Zwróć w C2 cenę produktu wybranego w B2 z tabeli w E:F.

Przy wybranym Pear odpowiedź to $1.50. Wybierz inny produkt w B2, a cena się dostosuje. =X.WYSZUKAJ(B2;E2:E6;F2:F6) też działa; argumenty opisuje strona WYSZUKAJ.PIONOWO (VLOOKUP).

Kolorowanie komórki według wybranej pozycji

Aby pokolorować komórkę według tego, co wybrano (na zielono dla Done, na czerwono dla Late), dodaj do tych samych komórek regułę formatowania warunkowego: zaznacz B2:B6, przejdź do Narzędzia główne > Formatowanie warunkowe > Reguły wyróżniania komórek > Równe, wpisz Late i wybierz format. Aby pokolorować cały wiersz, zaznacz A2:B6 i użyj Nowa reguła > Użyj formuły do określenia komórek, które należy sformatować z =$B2="Late".

Wyróżnianie spóźnionych zadań
B3
AB
1TaskStatus
2QuoteDone
3InvoiceLate
4OrderOpen
5ReportLate
6SurveyDone
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

B3 i B5 są wyróżnione. Wybierz Late w B4, a też zostanie wyróżniona; wybierz Done w B3, a wyróżnienie zniknie. Reguły opisuje szczegółowo strona o formatowaniu warunkowym.

Dlaczego lista rozwijana nie działa

  • W Dane > Poprawność danych odznaczone jest Rozwinięcie w komórce. Lista nadal ogranicza wpisy, ale nie ma strzałki.
  • Strzałka pokazuje się tylko na zaznaczonej komórce. Nic w siatce nie oznacza innych komórek z listą; aby je znaleźć, użyj Narzędzia główne > Znajdź i zaznacz > Poprawność danych.
  • Zakres źródłowy ma puste komórki, więc lista pokazuje puste wiersze. Zaznacz tylko wypełnione komórki albo użyj rozlanego źródła (=$G$2#), które nie ma pustych pozycji.
  • Pozycje wpisane ze złym separatorem: North;South w Excelu, który używa przecinków, staje się jedną pozycją o nazwie North;South.
  • Lista rozwijana przechowuje jedną wartość. Wybranie drugiej pozycji zastępuje pierwszą; wybór kilku pozycji w jednej komórce wymaga makra VBA.

Aby skopiować listę rozwijaną do innych komórek bez kopiowania wartości, skopiuj komórkę, a potem użyj Narzędzia główne > Wklej > Wklej specjalnie > Sprawdzanie poprawności. Aby ją usunąć, zaznacz komórki i wybierz Dane > Poprawność danych > Wyczyść wszystko.

Najczęściej zadawane pytania

Jak zrobić listę rozwijaną w Excelu?

Zaznacz komórki, przejdź do Dane > Poprawność danych, ustaw Dozwolone na Lista, w polu Źródło wpisz pozycje oddzielone średnikami (North;South;East) albo zaznacz zakres, który je zawiera (=$F$2:$F$5), i naciśnij OK.

Jak edytować listę rozwijaną w Excelu?

Zaznacz komórkę z listą, otwórz Dane > Poprawność danych i zmień pole Źródło. Zaznacz Zastosuj te zmiany do wszystkich innych komórek z tymi samymi ustawieniami, żeby zaktualizować każdą kopię. Jeśli źródłem jest zakres, edycja komórek tego zakresu zmienia listę bez otwierania okna.

Jak usunąć listę rozwijaną w Excelu?

Zaznacz komórki, przejdź do Dane > Poprawność danych, kliknij Wyczyść wszystko, a potem OK. Wybrane już wartości zostają w komórkach; znikają tylko strzałka i ograniczenie.

Jak zrobić listę rozwijaną z innego arkusza?

Wpisz w polu Źródło odwołanie z nazwą arkusza: =Lists!$A$2:$A$6 albo przy aktywnym polu Źródło kliknij drugi arkusz i zaznacz zakres. Działa też nazwany zakres (Formuły > Definiuj nazwę): =Regions.

Jak zrobić listę rozwijaną, która aktualizuje się automatycznie?

Wskaż jej rozlaną formułę: wpisz =SORTUJ(UNIKATOWE(FILTRUJ(B2:B100;B2:B100<>""))) w komórce pomocniczej, na przykład H2, i użyj =$H$2# jako Źródła. Nowe wartości w kolumnie B pojawią się wtedy na liście od razu, a FILTRUJ nie wpuszcza na nią pustych wierszy. Wymaga to Excela 365 albo 2021.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ