Utwórz dynamiczną zależną listę rozwijaną w Excelu w łatwy sposób

  • Udostępnij To
Michael Brown

Tutorial pokazuje jak stworzyć w Excelu listę rozwijaną zależną od innej komórki za pomocą nowych dynamicznych funkcji tablicowych.

Tworzenie prostej listy rozwijanej w Excelu jest łatwe. Tworzenie wielopoziomowych kaskadowych list rozwijanych zawsze było wyzwaniem. Powyższy linkowany samouczek opisuje cztery różne podejścia, z których każde obejmuje szaloną liczbę kroków, kilka różnych formuł i garść ograniczeń związanych z wpisami wielosłownymi, pustymi komórkami itp.

To była zła wiadomość.Dobra wiadomość jest taka, że te metody zostały zaprojektowane dla przeddynamicznych wersji Excela.Wprowadzenie tablic dynamicznych w Excelu 365 zmieniło wszystko! Dzięki nowym funkcjom tablic dynamicznych tworzenie listy rozwijanej zależnej od wielu osób jest kwestią minut, jeśli nie sekund.Żadnych sztuczek, żadnych zastrzeżeń, żadnych nonsensów.Tylko szybkie, proste i łatwe do wykonania rozwiązania.

    Uwagi:

    • Ten nowy, dynamiczny sposób tworzenia list rozwijanych w tablicy działa tylko w Excelu 365 i Excelu 2021. W przeddynamicznym Excelu będziesz musiał zrobić to długim starym sposobem, jak opisano w Tworzenie zależnego upuszczania w Excelu 2019 - 2007.
    • To rozwiązanie jest dla pojedynczego wiersza. Jeśli chcesz skopiować swoje listy wyboru w dół wiele rzędów , a następnie postępuj zgodnie z instrukcjami w liście rozwijanej Zależne dla wielu wierszy.
    • Jak zrobić dynamiczną listę rozwijaną w Excelu

      Ten przykład demonstruje ogólne podejście do tworzenia kaskadowej listy rozwijanej w Excelu za pomocą nowych funkcji tablic dynamicznych.

      Załóżmy, że masz listę owoców w kolumnie A i eksporterów w kolumnie B. Dodatkową komplikacją jest to, że nazwy owoców nie są zgrupowane, ale rozrzucone po kolumnie. Celem jest umieszczenie unikalnych nazw owoców w pierwszym rozwijanym oknie i w zależności od wyboru użytkownika pokazanie odpowiednich eksporterów w drugim rozwijanym oknie.

      Aby utworzyć dynamiczną zależną listę rozwijaną w programie Excel, wykonaj następujące kroki:

      1. zdobądź elementy dla głównej listy rozwijanej

      Na początek wyodrębnimy wszystkie różne nazwy owoców z kolumny A. Można to zrobić za pomocą funkcji UNIQUE w jej najprostszej postaci - dostarczamy listę owoców jako pierwszy argument ( macierz ) i pominąć pozostałe opcjonalne argumenty, ponieważ ich domyślne wartości działają dla nas bardzo dobrze:

      =UNIQUE(A3:A15)

      Formuła trafia do G3, a po naciśnięciu klawisza Enter wyniki rozlewają się automatycznie do kolejnych komórek.

      2. utwórz główną listę rozwijaną

      Aby stworzyć swoją podstawową listę rozwijaną, skonfiguruj w ten sposób regułę Walidacja danych w Excelu:

      • Wybierz komórkę, w której ma się pojawić dropdown (w naszym przypadku D3).
      • Na Dane zakładka, w Narzędzia danych grupa, kliknij Walidacja danych .
      • W Walidacja danych okna dialogowego, wykonaj następujące czynności:
        • Pod adresem Pozwól , wybrany Wykaz .
        • W Źródło w polu, wpisz odwołanie do zakresu rozlewu wyprowadzonego przez formułę UNIQUE. W tym celu wpisz znacznik hash zaraz po odwołaniu do komórki, jak poniżej: =$G$3#

          Nazywa się to odniesieniem do zakresu rozlewu, a ta składnia odnosi się do całego zakresu niezależnie od tego, jak bardzo się rozszerza lub kurczy.

        • Kliknij OK aby zamknąć okno dialogowe.

      Twoja podstawowa lista rozwijana jest gotowa!

      3) Uzyskaj elementy dla listy rozwijanej zależnej

      Aby uzyskać wpisy do drugiego menu rozwijanego, przefiltrujemy wartości w kolumnie B na podstawie wartości wybranej w pierwszym menu rozwijanym. Można to zrobić za pomocą innej dynamicznej funkcji tablicowej o nazwie FILTER:

      =FILTER(B3:B15, A3:A15=D3)

      Gdzie B3:B15 to dane źródłowe dla twojego zależnego dropdownu, A3:A15 to dane źródłowe dla twojego głównego dropdownu, a D3 to główna komórka dropdownu.

      Aby upewnić się, że formuła działa poprawnie, można wybrać jakąś wartość z pierwszej listy rozwijanej i obserwować wyniki zwracane przez FILTER. idealnie :)

      4. sprawić, by zależne było rozwijane

      Aby utworzyć drugą listę rozwijaną, skonfiguruj kryteria sprawdzania poprawności danych dokładnie tak, jak w przypadku pierwszej listy rozwijanej w kroku 2. Tym razem jednak odwołaj się do zakresu rozlewu zwróconego przez funkcję FILTER: =$H$3#.

      To jest to, twoja zależna od Excela lista rozwijana jest gotowa do użycia.

      Wskazówki i uwagi:

      • Aby mieć nowe wpisy obejmowały w liście rozwijanej automatycznie Możesz też umieścić kilka pustych komórek w swoich formułach, jak pokazano w tym przykładzie.
      • Jeśli Twoje oryginalne dane zawierają luki, możesz odfiltrować puste miejsca poprzez zastosowanie tego rozwiązania.
      • Do sortować alfabetycznie elementów rozwijanej listy, zawiń swoje formuły w funkcję SORT, jak wyjaśniono w tym przykładzie.

      Jak utworzyć wiele zależnych list rozwijanych w programie Excel

      W poprzednim przykładzie zrobiliśmy listę rozwijaną zależną od innej komórki. Ale co jeśli potrzebujesz hierarchii wielopoziomowej, czyli 3. listy rozwijanej zależnej w 2. liście, albo nawet 4. listy rozwijanej zależnej w 3. liście. Czy to możliwe? Tak, możesz ustawić dowolną liczbę list zależnych (oczywiście rozsądną liczbę :).

      W tym przykładzie umieściliśmy państwa / prowincje w kolumnie C, a teraz chcemy dodać odpowiednie menu rozwijane w G3:

      Aby zrobić wielokrotną zależną listę rozwijaną w Excelu, oto co musisz zrobić:

      1. skonfiguruj pierwszy drop down

      Główna lista rozwijana jest tworzona dokładnie w taki sam sposób jak w poprzednim przykładzie (patrz kroki 1 i 2 powyżej). Jedyną różnicą jest odniesienie do zakresu rozlewu, które wprowadzamy w polu Źródło pudełko.

      Tym razem formuła UNIQUE znajduje się w E8, a główna lista rozwijana będzie w E3. Wybieramy więc E3, klikamy Walidacja danych i dostarczyć to odniesienie: =$E$8#

      2. skonfiguruj drugą listę rozwijaną

      Jak pewnie zauważyłeś, teraz kolumna B zawiera wiele wystąpień tych samych eksporterów. Ale chcesz mieć tylko unikalne nazwy na liście rozwijanej, prawda? Aby pominąć wszystkie zduplikowane wystąpienia, owiń funkcję UNIQUE wokół formuły FILTR i wprowadź tę zaktualizowaną formułę w F8:

      =UNIQUE(FILTER(B3:B15, A3:A15=E3))

      Gdzie B3:B15 to dane źródłowe dla drugiego dropdownu, A3:A15 to dane źródłowe dla pierwszego dropdownu, a E3 to pierwsza komórka dropdownu.

      Następnie użyj następującego odwołania do zakresu rozlewu dla kryteriów Walidacji danych: =$F$8#.

      3. skonfiguruj trzecią listę rozwijaną

      Aby zebrać elementy do trzeciej listy rozwijanej, wykorzystaj formułę FILTRUJ z wieloma kryteriami. Pierwsze kryterium sprawdza całą listę owoców względem wartości wybranej w pierwszej liście rozwijanej (A3:A15=E3), natomiast drugie kryterium sprawdza listę eksporterów względem wyboru w drugiej liście rozwijanej (B3:B15=F3). Kompletna formuła trafia do G8:

      =FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3))

      Jeśli zamierzasz dodać więcej zależnych od siebie dropdownów (4., 5. itd.), to najprawdopodobniej kolumna C będzie zawierała wiele wystąpień tego samego elementu. Aby zapobiec przedostawaniu się duplikatów do tabeli przygotowawczej, a w konsekwencji do 3. dropdownu, zagnieżdż formułę FILTR w funkcji UNIQUE, tak jak zrobiliśmy to w poprzednim kroku:

      =UNIQUE(FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3)))

      Ostatnią rzeczą, którą musisz zrobić, jest stworzenie jeszcze jednej reguły walidacji danych o następującej treści Źródło odniesienie: =$G$8#

      Twoja wielokrotna zależna lista rozwijana jest dobra, aby przejść!

      Wskazówka. W podobny sposób można zdobyć przedmioty za kolejne drop-downs Zakładając, że kolumna D zawiera dane źródłowe dla 4. listy rozwijanej, możesz wprowadzić następującą formułę w H8, aby pobrać odpowiednie elementy:

      =UNIQUE(FILTER(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3)))

      Jak zrobić rozszerzalną listę rozwijaną w Excelu

      Po utworzeniu listy rozwijanej, Twoim pierwszym zmartwieniem może być to, co się stanie, gdy dodasz nowe pozycje do danych źródłowych. Czy lista rozwijana będzie się automatycznie aktualizować? Jeśli Twoje oryginalne dane są sformatowane jako tabela Excela, to tak, dynamiczna lista rozwijana omówiona w poprzednich przykładach będzie się automatycznie rozszerzać bez żadnego wysiłku z Twojej strony, ponieważ tabele Excela są z natury rozszerzalne.

      Jeśli z jakiegoś powodu użycie tabeli Excela nie jest opcją, możesz sprawić, że twoja lista rozwijana będzie rozwijana w ten sposób:

      • Do zawierać nowe dane automatycznie w miarę dodawania go do listy źródeł, dodaj kilka dodatkowych komórek do tablic, do których odwołują się twoje formuły.
      • Do wykluczyć puste komórki , skonfiguruj formuły, aby ignorować puste komórki, dopóki nie zostaną wypełnione.

      Pamiętając o tych dwóch punktach, dopracujmy formuły w naszej tabeli przygotowania danych. Reguły walidacji danych nie wymagają w ogóle żadnych korekt.

      Formuła dla głównego dropdownu

      Mając nazwy owoców w A3:A15, dodajemy 5 dodatkowych komórek do tablicy, aby zaspokoić ewentualne nowe wpisy. Dodatkowo osadzamy funkcję FILTER w UNIQUE, aby wydobyć unikalne wartości bez pustych miejsc.

      Biorąc pod uwagę powyższe, wzór w G3 przyjmuje taki kształt:

      =UNIQUE(FILTER(A3:A20, A3:A20""))

      Formuła dla zależnego dropdownu

      Formuła w G3 nie wymaga większych poprawek - wystarczy rozszerzyć tablice o kilka dodatkowych komórek:

      =FILTER(B3:B20, A3:A20=D3)

      Rezultatem jest w pełni dynamiczna rozwijana zależna lista rozwijana:

      Jak posortować listę rozwijaną alfabetycznie

      Chcesz ułożyć swoją listę rozwijaną alfabetycznie bez uciekania się do danych źródłowych? Nowy dynamiczny Excel ma specjalną funkcję również do tego! W swojej tabeli przygotowania danych po prostu owiń funkcję SORT wokół swoich istniejących formuł.

      Reguły sprawdzania poprawności danych są skonfigurowane dokładnie tak, jak opisano w poprzednich przykładach.

      Aby posortować od A do Z

      Ponieważ domyślną opcją jest sortowanie rosnące, możesz po prostu zagnieździć swoje istniejące formuły w macierz argument SORT, pomijając wszystkie inne argumenty, które są opcjonalne.

      Dla główny dropdown (wzór w G3):

      =SORT(UNIQUE(FILTER(A3:A20, A3:A20"")))

      Dla zależny rozwijany (wzór w H3):

      =SORT(FILTER(B3:B20, A3:A20=D3))

      Gotowe! Obie listy rozwijane zostaną posortowane alfabetycznie od A do Z.

      Aby posortować od Z do A

      Aby sortować w porządku malejącym, należy ustawić trzeci argument ( sortowanie_order ) funkcji SORT na -1.

      Dla główny dropdown (wzór w G3):

      =SORT(UNIQUE(FILTER(A3:A20, A3:A20"")), 1, -1)

      Dla zależny rozwijany (wzór w H3):

      =SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)

      Spowoduje to posortowanie zarówno danych w tabeli preparatów, jak i pozycji na listach rozwijanych od Z do A:

      Oto jak stworzyć dynamiczną listę rozwijaną w Excelu za pomocą nowych funkcji tablic dynamicznych. W przeciwieństwie do tradycyjnych metod, to podejście działa doskonale dla wpisów jedno- i wielosłownych i dba o wszelkie puste komórki. Dziękujemy za przeczytanie i mamy nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu!

      Zeszyt ćwiczeń do pobrania

      Lista rozwijana zależna od Excela (plik .xlsx)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.