Jak używać formuły INDEX-MATCH w Excelu do generowania wielu wyników

  • Udostępnij To
Hugh West

Praca z dużą liczbą danych prowadzi do uzyskania wielu wyników. W Excelu istnieje bardzo wygodny sposób na wyodrębnienie wielu wyników. W tym artykule pokażemy, jak wykorzystać funkcję INDEX-MATCH formuła w programie Excel, aby wygenerować wiele wyników.

Pobierz szablon praktyki

Możesz pobrać stąd darmowy szablon Excela do ćwiczeń i poćwiczyć samodzielnie.

INDEX MATCH Multiple Results.xlsx

4 Przydatne sposoby w realizacji INDEX & MATCH Funkcje razem w Excelu, aby wydobyć wiele wyników

W tej części omówione zostanie szczegółowo wykorzystanie funkcja INDEX oraz funkcja MATCH razem w Excelu, aby uzyskać wiele wyników.

1) Znajdź wiele wyników w tablicy przy użyciu formuły INDEX MATCH w Excelu

Rozważmy następujący zbiór danych, w którym chcieliśmy znaleźć różne oceny studentów z różnych egzaminów.

Możemy to uzyskać uruchamiając INDEX-MATCH w naszym arkuszu.

Kroki na znalezienie wielu wyników w zestawie tablicy przy użyciu INDEX-MATCH funkcje są podane poniżej.

Kroki:

  • Wybierz nazwę ze zbioru danych ( B5:B11 ) i umieścić nazwę w innej komórce, aby później użyć numeru referencyjnego komórki (np. nazwa Villiers w Komórka G4 ).
  • W innej komórce, która ma być komórką wynikową (np. Komórka G7 ), napisz następujący wzór,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),""),ROWS($A$1:A1)))

Tutaj,

$C$5:$C$11 = tablica do wyszukiwania wartości lookup

$B$5:$B$11 = tablica, w której znajduje się wartość lookup

  • Naciśnij Wejdź na stronę .

Zauważysz, że wynik dla danych (np. Villiers ), które umieszczasz w wybranej komórce ( G4 ), pojawi się w komórce wynikowej (np. 65 w G7 ).

  • Teraz przeciągnij wiersz w dół o Uchwyt do napełniania aby uzyskać resztę wyników tej samej wartości lookup.

Ponieważ proces ten nie jest stały dla żadnej konkretnej wartości, więc możesz wybrać dowolne dane lookup w wybranej komórce (np. G4 ), a wynik dla tych konkretnych danych zostanie automatycznie zaktualizowany w komórce wynikowej (np. G7 ).

Aby zrozumieć więcej zobacz poniższy gif.

Podział formuły:

Rozbijmy formułę, aby zrozumieć, jak otrzymaliśmy wynik.

  • MATCH($B$5:$B$11, $G$4, 0) staje się,

-> MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis"}, "Villiers", 0)

-> Wyjście: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}

Wyjaśnienie: Jeśli szukana wartość znajdzie dopasowanie w tablicy lookup, to MATCH funkcja zwraca 1 w przeciwnym razie zwraca #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) staje się,

-> ISNUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})

-> Wyjście: {FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.

Wyjaśnienie: Jak funkcja IF nie jest w stanie obsłużyć wartości błędów, więc funkcja ISNUMBER jest wykorzystywana do konwersji wartości tablicowych na wartości Boolean.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") staje się,

-> IF({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")

staje się

-> IF({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")

-> Wyjście: {""; ""; ""; 4; ""; 6}

Wyjaśnienie: Po pierwsze. JEŚLI Funkcja konwertuje wartości Boolean na numery wierszy i spacje, a następnie. MATCH oraz funkcja ROW s obliczają tablicę z kolejnymi liczbami, od 1 do n, gdzie n jest ostatnią tożsamością liczbową całkowitego rozmiaru zakresu komórek.Jako $B$5:$B$11 ma 7 wartości, więc tablica staje się {1; 2; 3; 4; 5; 6; 7} .

  • SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1))) staje się

-> SMALL({""; ""; 4; ""; 6}, ROWS($A$1:A1))

-> SMALL({""; ""; 4; ""; 6}, 1)

-> Wyjście: 4

Wyjaśnienie: Po pierwsze, funkcja SMALL określa, którą wartość uzyskać na podstawie numeru wiersza. Następnie Rzędy Funkcja zwraca liczbę, która zmienia się za każdym razem, gdy komórka jest kopiowana i wklejana do komórek poniżej.Początkowo zwracała 4 zgodnie z naszym zbiorem danych. W kolejnej komórce poniżej, ROWS($A$1:A1) zmiany w ROWS($A$1:A2) i zwraca 6 .

  • INDEX($C$5:$C$11, SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1))) staje się

-> INDEX($C$5:$C$11, 4)

-> Wyjście: 65

Wyjaśnienie: Na stronie INDEX Funkcja zwraca wartość z podanej tablicy na podstawie numeru wiersza i kolumny. 4. wartość w tablicy $C$5:$C$11 jest 65 , więc INDEX funkcja zwraca 65 w komórce G7 .

Read More: IF z INDEX-MATCH w Excelu (3 odpowiednie podejścia)

2) Znajdź wiele wyników nadchodzącego wydarzenia Nazwa & Data z INDEX MATCH Formula w Excelu

Czasami zapominamy o dacie ważnych wydarzeń.W takim przypadku INDEX MATCH funkcje pracują jako ratownicy.

Poniżej przykładowe dane, w których chcieliśmy poznać zbliżające się urodziny wśród naszych znajomych.

Więc, to co zrobiliśmy to, wdrożenie INDEX MATCH wzór, aby dowiedzieć się, kto i kiedy ma następne urodziny.

Zatem wzór na poznanie imienia osoby lub nazwy nadchodzącego wydarzenia to,

=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)

A wzór na poznanie daty nadchodzącego wydarzenia to,

=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)

Podział formuły:

Rozbijmy formułę, aby zrozumieć, jak dowiedzieliśmy się o imieniu Alex i dacie jego urodzin.

  • MATCH(F5,$C$5:$C$9,1)

-> Wyjście: 4

Wyjaśnienie: Na stronie MATCH Funkcja znajduje pozycję wartości lookup ( Komórka F5 = Czwartek, 11 listopada 2021 r. ) w stałej tablicy ( $C$5:$C$9 = wykaz dat ).

W tym przykładzie, nie chcieliśmy dokładnego dopasowania, chcieliśmy, aby MATCH funkcja ma zwracać przybliżone dopasowanie, więc ustawiamy trzeci argument na 1 (lub TRUE ).

  • INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) staje się

-> INDEX($B$5:$B$9, 4) +1)

-> Wyjście: Alex /(Nazwa wydarzenia)

Wyjaśnienie: Na stronie INDEX Funkcja przyjmuje dwa argumenty, aby zwrócić określoną wartość w jednowymiarowym zakresie. Tutaj zakres $B$5:$B$9 to najpierw argument i wynik, który otrzymaliśmy z obliczeń w poprzednim rozdziale (MATCH(F5,$C$5:$C$9,1)) , pozycja 4 Oznacza to, że szukamy wartości znajdującej się w pozycji 4 w $B$5:$B$9 zakres.

I,

  • INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) staje się

-> INDEX($B$5:$B$9, 4) +1)

-> Wyjście: wtorek, 7 grudnia 2021 r.

Wyjaśnienie: Na stronie INDEX Funkcja przyjmuje dwa argumenty, aby zwrócić określoną wartość w jednowymiarowym zakresie. Tutaj zakres $C$5:$C$9 to najpierw argument i wynik, który otrzymaliśmy z obliczeń w poprzednim rozdziale (MATCH(F5,$C$5:$C$9,1)) , pozycja 4 Oznacza to, że szukamy wartości znajdującej się w pozycji 4 w $C$5:$C$9 zakres.

Aby uzyskać datę nadchodzącego wydarzenia, dodaliśmy jeden do pozycji komórki zwróconej przez MATCH Funkcja, a to dało nam pozycję komórki z następną datą wydarzenia.

Read More: Excel INDEX-MATCH Formuła, aby zwrócić wiele wartości poziomo

Podobne lektury

  • INDEX MATCH Wiele kryteriów z Wildcard w programie Excel (Kompletny przewodnik)
  • [Naprawiono!] INDEX MATCH nie zwraca prawidłowej wartości w Excelu (5 powodów)
  • Jak używać INDEX MATCH zamiast VLOOKUP w Excelu (3 sposoby)
  • INDEX+MATCH z duplikatami wartości w Excelu (3 szybkie metody)
  • Jak wybrać określone dane w programie Excel (6 metod)

3. generowanie wielu wyników w oddzielnych kolumnach za pomocą formuły INDEX MATCH w Excelu

Do tej pory otrzymywaliśmy wyniki w wierszach, ale co jeśli chcemy otrzymać wyniki w oddzielne kolumny .

Rozważmy następujący zbiór danych, który składa się z trzech rodzajów zawodów reprezentujących wiele nazwisk osób.

Chcieliśmy stworzyć grupę osób na podstawie zawodu i chcieliśmy umieścić nazwiska w układzie kolumnowym zgodnie z ich profesją.

Aby wyodrębnić wiele wyników dopasowania do osobnych komórek w osobnych kolumnach, możesz wykonać małą sztuczkę z INDEX funkcja.

Dowiedzmy się, jak wyodrębnić wiele wyników dopasowania w wielu kolumnach w programie Excel za pomocą kombinacji INDEX funkcje i inne.

Kroki:

  • Wybierz zawód z zakresu danych ( B5:B11 ) i umieścić dane w innej komórce, aby później wykorzystać numer referencyjny komórki (np. zawód Krykieter w Komórka E5 ).
  • W innej komórce, która ma być komórką wynikową (np. Komórka F5 ), napisz następujący wzór,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"")

Tutaj,

$C$5:$C$11 = tablica do wyszukiwania wartości lookup

$B$5:$B$11 = tablica, w której znajduje się wartość lookup

  • Naciśnij Wejdź na stronę .

Zauważysz, że wynik dla danych (np. Krykieciarze ), które umieszczasz w wybranej komórce ( E5 ), pojawi się w komórce wynikowej (np. Flintoff w Komórka F5 ).

  • Teraz należy przeciągnąć wiersz o Uchwyt do napełniania aby uzyskać resztę wyników tej samej wartości lookup w oddzielnych wielu kolumnach.

  • Ponownie przeciągnij wiersz o Uchwyt do napełniania aby uzyskać resztę wyników różnych wartości lookup (np. Piłkarz, Zapaśnicy ) w oddzielnych wielu kolumnach.

Podział formuły:

Rozbijmy formułę, aby zrozumieć, jak otrzymaliśmy wynik.

  • SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))

Wiemy już z poprzedniej dyskusji, jak MAŁY, JEŚLI oraz ROW funkcje współpracują ze sobą i używamy tej sztuczki również tutaj, aby wygenerować numer wiersza odpowiadający N-temu dopasowaniu. Kiedy mamy już numer wiersza, po prostu przekazujemy go do INDEX funkcja, która zwraca wartość w tym wierszu.

-> Wyjście: ( jak na zdjęciu poniżej )

  • INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))) -> przekazanie numerów wierszy do INDEX funkcja wyodrębniająca wartość dla odpowiednich numerów wierszy.

-> Wyjście: ( jak na zdjęciu poniżej )

  • IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"") -> zauważ, że kiedy kolumny zwracają wartość, która nie istnieje, rzuca a #NUM Aby zapobiec temu błędowi, zawijamy całą formułę za pomocą funkcja IFERROR aby wyłapać błędy i ustawić pusty ciąg ("") jako zwrot.

-> Wyjście: ( jak na zdjęciu poniżej )

Read More: Excel INDEX MATCH, aby zwrócić wiele wartości w jednej komórce

4. Wyodrębnij wiele wyników w osobnych wierszach za pomocą funkcji INDEX MATCH w Excelu

Jeśli zastanawiasz się nad wyodrębnieniem wielu wyników do wielu wierszy w taki sam sposób, jak to zrobiliśmy w naszej poprzedniej sekcji, to formuła jest,

=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5))),"")

A wszystkie inne szczegóły, takie jak Kroki i Podział Formuły są takie same jak w sekcji 3.

Kluczowe punkty, o których musisz pamiętać

  • Ponieważ zakres tablicy danych do wyszukiwania wartości jest stały, nie zapomnij umieścić znaku dolar ($) znak przed numerem referencyjnym komórki tablicy.
  • Podczas pracy z wartościami tablicowymi nie zapomnij wcisnąć Ctrl + Shift + Enter na klawiaturze podczas wyodrębniania wyników. Naciskając tylko Wejdź na stronę będzie działać tylko wtedy, gdy używasz Microsoft 365 .
  • Po naciśnięciu Ctrl + Shift + Enter zauważysz, że pasek formuły zawiera formułę w nawiasy klamrowe {} deklarując ją jako formułę tablicową. Nie wpisuj tych nawiasy {} siebie, Excel automatycznie robi to za Ciebie.

Wniosek

Ten artykuł wyjaśnił szczegółowo, jak używać INDEX MATCH funkcje do wyodrębniania wielu wyników w Excelu. Mam nadzieję, że ten artykuł był dla Ciebie bardzo korzystny. Zapraszam do zadawania pytań, jeśli masz jakieś pytania dotyczące tematu.

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ł.