Pojedyncze kryterium wyszukiwania, wiele wyników

0

Muszę wyprowadzać wyniki z kolumny posortowanych danych z jednym kryterium wyszukiwania. Czasami występuje wiele wystąpień dla tego samego kryterium. WYSZUKAJ, znajduje tylko pierwsze wystąpienie. Muszę wprowadzić komórkę, aby dopasować, jest w J8: J581, a odpowiednie dane do wyświetlenia to N8: N581

J   K L M N
bob       RED
bob       BLUE
Bob       Green
Sue       yellow
Sue       white
fred      grey
pete      brown

.

input=bob
output=    bob  RED
                BLUE
                Green
Paweł
źródło

Odpowiedzi:

1

Jeśli chcesz po prostu zwrócić wiersze takie jak próbka powyżej, skorzystaj z tabeli programu Excel.

  1. Wybierz swoje dane
  2. Utwórz tabelę Insert>Tables>Table(zaznacz pole Mój stół ma nagłówki)
  3. Po utworzeniu tabeli, po prostu wybierz przycisk filtra (strzałka w dół w wierszu nagłówka tabeli) i wybierz wartość filtru (np. W próbce wybierz Bob), spowoduje to zwrócenie tylko wierszy „Bob”.

Oto obraz przed:

Stół

I po:

wprowadź opis zdjęcia tutaj

EDYCJA: Na podstawie twoich dodatkowych informacji, rozważyłbym dodanie tabeli przestawnej na podstawie twojej tabeli danych. Pozwoli ci to stworzyć „zarysowany” widok twoich informacji, aby lepiej zobaczyć, które kempingi mają tylko jeden identyfikator w porównaniu z wieloma identyfikatorami. Wyglądałoby to tak:

wprowadź opis zdjęcia tutaj

Ponadto, aby zwrócić uwagę na @pnuts, Excel jest ograniczony do 10 000 pozycji na liście rozwijanej (tj. Filtru), ale nie ma udokumentowanego limitu dla członków tabeli. Miałem tabele z rzędami 10.000.

EDYCJA 2: Jeśli chcesz łatwo znaleźć tylko powtarzające się wartości, absolutnie najlepsza jest tabela przestawna.

  1. Weź początkową tabelę danych i dodaj wiersz „licznik”. =IF([@Name]=D1,F1+1,1)Zwróci to liczbę wierszy o tej samej nazwie.
  2. Utwórz tabelę przestawną na Insert>Tables>Pivot Tablepodstawie danych.
  3. Sformatuj swoją tabelę przestawną w następujący sposób:
    • Etykiety wiersz = Name, Code, Counteri wyłączyć sumami częściowe i sumy wszystkich wartości.
    • Filtr licznika = Wyczyść 1, pokaże tylko nazwy z wieloma wartościami.
    • Nazwa filtra = dowolna konkretna nazwa kempingu, którą jesteś zainteresowany.

Filtrowany element przestawny

dav
źródło
Przepraszam, że nie wyjaśniłem poprawnie; podałem tylko bardzo uproszczony przykład. Mam listę około 2000 dużych .; pola namiotowego i ich numer kempingowy. niektóre kempingi mają tę samą nazwę, ale różne numery identyfikacyjne. Chcę wyszukiwać według nazwy i produkować wszystkie numery identyfikacyjne dla tego imienia
Paul
Chciałbym wpisać komórkę i przodować w wyszukiwaniu i zwracaniu wyników zamiast przeszukiwania listy w celu znalezienia nazwisk. Nie sądzę, aby filtr wyświetlał zduplikowane wpisy, dopóki wyniki nie zostaną wyświetlone
Paul
1
Zamiast dodawać komentarze wyjaśniające twoje pytanie, edytuj pytanie z dodatkowymi informacjami, które pomogą wszystkim śledzić dodatkowe wymagania.
dav
0

Załóżmy, że twoja komórka wejściowa to A1, a komórki wyjściowe to A3 dla nazwy i B3: B .. dla zakresu wyjściowego (z końcem zakresu B zmniejszającym się aż do maksymalnej liczby wyników, których oczekujesz) .

W przypadku A3 wpisz wzór =A1.

W przypadku B3 wstaw wzór

  =IFERROR(INDEX($N$1:$N$99,SMALL(IF($J$1:$J$99=$A$3,ROW($N$1:$N$99)-ROW($N$1)+1),ROWS($N$1:$N1))),"")

Jest to formuła tablicy i musi być wprowadzony z Control- Shift- Enterkombinacji klucza. Następnie możesz skopiować go na dół zakresu wyjściowego.

Należy pamiętać, że formuła jest zakodowana na stałe dla listy danych wejściowych z maksymalnie 99 wierszami. Możesz zmienić to na dowolną potrzebną długość. Chociaż byłoby możliwe odniesienie do całej kolumny (J: J i N: N), byłby to wzrost wydajności, którego prawdopodobnie chcesz uniknąć.

Jak działa formuła

Pracując od wewnątrz, formuła najpierw porównuje nazwę, dla której ma zostać przeprowadzone wyszukiwanie (komórka A3) z pełną listą nazw (do 99 nazw w zakresie J1: J99). Porównanie to pokazano w wierszu 6 funkcji podziału pokazanej poniżej.

Produktem tego porównania jest tablica z wartościami True dla dopasowania i False dla niezgodnych, np. {False, False, False, False, True, True, False, ... itd.}.

Następnie dokonuje się porównania między tą tablicą a tablicą, którą można traktować jako „numery linii” listy nazw: {1, 2, 3, 4, 5, 6, ... 99}. Tego porównania dokonuje się za pomocą instrukcji IF w wierszach 6-8 schematu formuły.

Porównanie jest element po elemencie. Jeśli element tablicy porównania nazw ma wartość True, wówczas IF zwraca odpowiedni numer wiersza; jeśli element jest równy False, IF zwraca FAŁSZ. Korzystając z dwóch przykładowych tablic powyżej, wynikiem instrukcji IF byłoby {False, False, False, False, 4, 5, False, ...}.

elementy funkcji dopasowania

Kontynuując, funkcja SMALL (zaczynająca się od linii 8 zarysu funkcji) jest używana do uzyskania k-tego najmniejszego elementu tej nowej tablicy z IF. „K” w tym przypadku jest dostarczane przez wyrażenie ROWS ($ N $ 1: $ N1), które po prostu policzy w górę od 1 do 99, gdy cała formuła zostanie skopiowana od wiersza 1 do wiersza 99 (ROWS ($ N $ 1 : $ N1) = 1, ROWS ($ N $ 1: $ N2) = 2 i tak dalej).

Zatem SMALL najpierw znajdzie najmniejszy element tablicy wygenerowany przez IF, ignorując elementy, które są fałszywe. Innymi słowy, zwróci numer pierwszego wiersza, w którym porównywana nazwa odpowiada nazwie na liście wyszukiwania nazw. W naszym przykładzie jest to liczba 4, jak pokazano w szóstej kolumnie poniższej tabeli.

Krok podsumowania wykorzystuje INDEKS na wartościach wyszukiwania, aby pobrać element odpowiadający obliczonemu numerowi linii. W takim przypadku czwarty element w przykładzie listy kolorów dla pytania to „żółty”. (IFERROR upewnia się, że puste miejsce jest wyświetlane, gdy formuła nie znajdzie dopasowania.)

Taki był wynik pierwszej kopii pełnej formuły. Po skopiowaniu do następnej komórki, jedyną rzeczą, która zmienia się w obliczeniach, jest wartość „k” dla funkcji SMALL, która przesuwa się do 2. A drugi najmniejszy znaleziony numer linii to 5, co daje wartość „biały”.

wprowadź opis zdjęcia tutaj

chuff
źródło