Jak stworzyć dynamiczną listę w Excelu na podstawie kryteriów (3 sposoby)

  • Udostępnij To
Hugh West

Dzisiaj pokażę jak stworzyć dynamiczną listę na podstawie pojedynczych lub wielu kryteriów w Excelu.

Pobierz Zeszyt ćwiczeń

Lista dynamiczna oparta na kryteriach.xlsx

Co to jest lista dynamiczna w programie Excel?

Lista dynamiczna to lista, która jest tworzona z zestawu danych i aktualizuje się automatycznie, gdy dowolna wartość w oryginalnym zestawie danych zostanie zmieniona lub gdy do oryginalnego zestawu danych zostaną dodane nowe wartości.

Na podanym obrazku mamy listę nazwisk wszystkich uczniów, którzy uzyskali oceny większe niż 60 na egzaminie.

Teraz, jeśli zmienisz znaki Jennifer Marlo z 68 do 58 i dodać nowego ucznia o nazwisku Ross Smith z ocenami 81 w tabeli, lista dostosuje się automatycznie.

Jest to tak zwana lista dynamiczna.

3 Sposoby tworzenia dynamicznych list w Excelu na podstawie kryteriów

Mamy tu zestaw danych z. Legitymacje studenckie, Nazwiska, oraz Marks niektórych uczniów w Szkole zwanej Słonecznikowym Przedszkolem.

Naszym dzisiejszym celem jest stworzenie dynamicznej listy na podstawie kryteriów z tego zestawu danych. Będziemy dziś używać zarówno pojedynczych, jak i wielokrotnych kryteriów.

1) Używanie funkcji FILTR i OFFSET (dla nowych wersji programu Excel)

Po pierwsze, użyjemy kombinacji FILTR , OFFSET oraz KRAJ funkcje programu Excel.

Na stronie FILTR funkcja jest dostępna w Office 365 Tylko. Więc to jest tylko dla tych, którzy mają Office 365 subskrypcja.

Przypadek 1: Na podstawie jednego kryterium

Spróbujmy stworzyć dynamiczną listę uczniów, których średnia ocen jest większa lub równa 60 .

Możesz skorzystać z tej formuły:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Jak widać, mamy listę wszystkich uczniów, którzy otrzymali więcej niż 60 .

I oczywiście jest to lista dynamiczna, zmieniasz dowolną wartość w zestawie danych lub dodajesz dowolną nową wartość w zestawie danych.

Lista dostosuje się automatycznie.

Objaśnienia do wzoru:

  • COUNTA(C:C) zwraca liczbę wierszy w kolumnie C, które nie są puste. więc COUNTA(C:C)-1 zwraca liczbę wierszy, które mają wartości bez znaku Nagłówek kolumny ( Imię i nazwisko ucznia w tym przykładzie).
  • Jeśli nie masz Nagłówek kolumny , zastosowanie COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) zaczyna się od komórki C5 (Nazwisko pierwszego ucznia) i zwraca zakres nazwisk wszystkich uczniów.
  • Na stronie OFFSET w połączeniu z funkcją Funkcja COUNTIF Jeśli do zestawu danych zostanie dodany jeszcze jeden uczeń, formuła będzie dynamiczna. COUNTA(C:C)-1 formuła wzrośnie o 1 i OFFSET funkcja będzie obejmować ucznia.
  • Podobnie, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 zwraca TRUE dla wszystkich znaków, które są większe lub równe 60 .
  • Wreszcie, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) zwraca listę wszystkich uczniów, którzy otrzymali oceny większe niż 60 .
  • Jeśli do zbioru danych zostanie dodany jakiś nowy student, COUNTA(C:C)-1 wzrasta o 1 , oraz FILTR Funkcja odświeża wyliczenie z jego uwzględnieniem.
  • W ten sposób formuła zawsze pozostaje dynamiczna.

Uwaga:

Jeśli chcesz uzyskać znaki wraz z nazwami na liście, po prostu zmień piąty argument pierwszego OFFSET funkcja z 1 do 2 .

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Przypadek 2: Na podstawie wielu kryteriów

Tym razem spróbujmy wielu kryteriów.

Spróbujemy stworzyć dynamiczną listę uczniów, którzy otrzymali oceny większe lub równe 60, ale których identyfikatory są mniejsze lub równe 200 .

Możesz skorzystać z tej formuły:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Jak widać, mamy listę wszystkich uczniów, którzy otrzymali oceny wyższe niż 60 i mieć ID jest mniejszy niż 200 .

I nie ma co mówić, to jest lista dynamiczna.

Jeśli zmienisz jakąkolwiek wartość lub dodasz nowego ucznia do zestawu danych, lista dostosuje się automatycznie.

Objaśnienia do wzoru:

  • Tutaj pomnożyliśmy dwa dynamiczne zakresy kryteriów, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Jeśli masz więcej niż 2 kryteriów, pomnożyć wszystkie zakresy kryteriów w ten sam sposób.
  • Reszta jest taka sama jak w poprzednim przykładzie (dla pojedynczych kryteriów). OFFSET w połączeniu z funkcją KRAJ funkcja została użyta, aby zachować dynamikę wzoru.

Uwaga:

Jeśli chcesz zobaczyć wszystkie kolumny na liście ( Kolumny B, C, oraz D w tym przykładzie), zmień pierwszy argument pierwszego OFFSET do pierwszej kolumny ( B5 w tym przykładzie), a piątym argumentem całkowita liczba kolumn ( 3 w tym przykładzie).

=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*.

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Read More: Excel Utwórz dynamiczną listę z tabeli (3 proste sposoby)

2. Użycie INDEX-MATCH z innymi funkcjami (dla starych wersji)

Ci, którzy nie mają Office 365 abonament nie może korzystać z powyższej formuły.

Dla tych, którzy korzystają ze starszej wersji Excela, przedstawiam bardziej skomplikowany sposób, wykorzystujący INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, oraz COUNTIFS Należy pamiętać, że te formuły są formułami tablicowymi, dlatego aby je zastosować w starszych wersjach Excela, należy nacisnąć przycisk Ctrl+Shift+Enter zamiast po prostu Enter.

Przypadek 1: Na podstawie jednego kryterium

Formułą tworzącą dynamiczną listę uczniów, którzy uzyskali wynik większy lub równy 60 będzie:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60,

OFFSET(D5,0,0,COUNTA(D:D)-1,1),"),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Jak widać, znów mamy nazwiska wszystkich uczniów, którzy uzyskali wynik większy lub równy 60 .

Tym razem mamy w kolejności rosnącej liczby.

I tak, lista jest dynamiczna. Dodaj nowego ucznia do zestawu danych lub zmień oceny dowolnego ucznia w zestawie danych.

Lista dostosuje się automatycznie.

Objaśnienia do wzoru:

  • Tutaj C:C to kolumna, z której chcemy wyodrębnić zawartość listy ( Imię i nazwisko ucznia w tym przykładzie). Używasz swojego.
  • D:D to kolumna, w której leży kryterium ( Średnia ocen w tym przykładzie). Używasz swojego.
  • C5 oraz D5 to komórki, od których zaczęły się moje dane (tuż pod Nagłówki kolumn ). Korzystasz ze swojej jedynki.
  • ">=60" jest moim kryterium (większe lub równe 60 w tym przykładzie). Używasz swojego.
  • Poza tymi kilkoma zmianami, zachowaj resztę formuły bez zmian i użyj jej w swoim zestawie danych. Otrzymasz dynamiczną listę według pożądanego kryterium.

Przypadek 2: Na podstawie wielu kryteriów

Na stronie INDEX-MATCH formuła dla dynamicznej listy opartej na wielu kryteriach jest nieco bardziej skomplikowana, mimo to pokazuję ją.

Wzór na uzyskanie nazwisk uczniów, którzy uzyskali oceny większe lub równe 60 , ale mają ID jest mniejszy niż 200 będzie;

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*.

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Objaśnienia do wzoru:

  • Tutaj C:C to kolumna, z której chcemy wyodrębnić zawartość listy ( Imię i nazwisko ucznia w tym przykładzie). Używasz swojego.
  • B:B oraz D:D to kolumny, w których leżą kryteria ( Legitymacja studencka oraz Średnia ocen w tym przykładzie). Używasz swojego.
  • B5, C5, oraz D5 to komórki, od których zaczęły się moje dane (tuż pod Nagłówki kolumn ). Korzystasz ze swojej jedynki.
  • Pomnożyłem tutaj dwa kryteria: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Jeśli masz więcej niż dwa kryteria, pomnóż je odpowiednio.
  • Ponownie zastosowałem dwa kryteria wewnątrz tego COUNTIFS funkcja: COUNTIFS(B:B,"=60") . Wykorzystujesz odpowiednio swoje.
  • Zachowaj resztę formuły bez zmian i użyj jej w swoim zestawie danych. Otrzymasz dynamiczną listę z wieloma kryteriami.

Read More: Jak stworzyć dynamiczną listę walidacji danych za pomocą VBA w Excelu

3. utworzenie dynamicznej listy rozwijanej na podstawie kryteriów przy użyciu narzędzia sprawdzania poprawności danych

Teraz utworzyliśmy listę dynamiczną. Jeśli chcesz, możesz utworzyć dynamiczną listę rozwijaną w dowolnej komórce arkusza.

  • Aby utworzyć dynamiczną listę rozwijaną, wybierz dowolną komórkę w arkuszu i przejdź do Dane> Walidacja danych> Walidacja danych pod Narzędzia danych sekcja.

  • Otrzymasz Walidacja danych W oknie dialogowym. Pozwól Opcja, wybierz Wykaz A w ramach Źródło należy podać odnośnik do pierwszej komórki, w której znajduje się lista w arkuszu wraz z oznaczeniem HashTag (#) ( $E$5# w tym przykładzie).

  • Następnie kliknij OK W wybranej komórce pojawi się lista rozwijana, jak poniżej.

Read More: Jak stworzyć dynamiczną listę rozwijaną za pomocą VBA w Excelu

Jak stworzyć dynamiczną unikalną listę w Excelu na podstawie kryteriów

W tym rozdziale pokażemy jak stworzyć unikalną listę w Excelu na podstawie kryteriów.Wykorzystamy kombinację UNIQUE oraz FILTR funkcje. zmodyfikowaliśmy zbiór danych i dodaliśmy ulubione gry każdego ucznia. teraz chcemy poznać nazwy gier usuwając duplikaty za pomocą kryteriów. kryteria to średnia ocen uczniów musi być większa niż 60 .

📌 Kroki:

  • Postaw formułę opartą na kombinacji UNIQUE oraz FILTR funkcje na Komórka G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Otrzymujemy unikalną listę na podstawie kryteriów.

Objaśnienia do wzoru:

  • FILTER(E5:E25,(D5:D25>60)

To filtruje wartości Zakres E5:E25 , z zastrzeżeniem, że średnia ocen musi być powyżej 60 .

Wynik: [Tenis, Siatkówka, Rugby, Tenis, Piłka nożna, Rugby, Rugby, Piłka nożna]

  • UNIQUE(FILTER(E5:E25,(D5:D25>60)))

To zwraca wszystkie unikalne wartości z poprzedniego wyniku.

Wynik: [Tenis, Siatkówka, Rugby, Piłka nożna]

Wniosek

Za pomocą tych metod można stworzyć dynamiczną listę na podstawie jednego lub wielu kryteriów w dowolnym zestawie danych w Excelu. Proszę zajrzeć na naszą stronę internetową ExcelWIKI i podawać swoje sugestie w polu komentarza.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.