Spis treści
Excel oferuje różne funkcje i sposoby pobierania pasujących wartości. W zależności od sytuacji, użytkownicy mogą wybrać swoje preferencje. Ten poradnik pokaże Ci jak uzyskać wyniki używając INDEX MATCH z wieloma dopasowaniami w Excelu.
Na początek zapoznajmy się z dzisiejszym zeszytem ćwiczeń.
W arkuszach dzisiejszego skoroszytu znajdziesz produkty i ich relacje cenowe. Wykorzystując te relacje zobaczymy kilka przykładów na pobranie wartości za pomocą wiele kryteriów .
W prawdziwym świecie możesz potrzebować obsługiwać zestawy danych z kilkoma relacjami i ustawiać różne kryteria, aby uzyskać wyniki. Aby zachować prostotę na razie, będziemy pobierać cenę produktu pasującego do nazwy i rozmiaru.
Pobierz Zeszyt ćwiczeń
Zeszyt ćwiczeń wykorzystany do demonstracji wraz ze wszystkimi formułami można pobrać z poniższego linku.
INDEX-MATCH z wielokrotnym dopasowaniem.xlsx
Podstawy INDEX-MATCH
Podstawy funkcji INDEX
Funkcja INDEX zwraca wartość lub odwołanie do wartości z tabeli lub zakresu. Może być użyta do pobierania pojedynczych wartości lub całych wierszy i kolumn. Zobaczmy składnię funkcji INDEX.
INDEX(tablica/odniesienie, numer wiersza, numer kolumny, numer obszaru)
tablica lub referencja: Komórka lub zakres komórek do sprawdzenia
row_number: Wiersz w tablicy, z którego ma zostać zwrócona wartość
kolumna_numer: Kolumna w tablicy, z której ma zostać zwrócona wartość
area_number: Wybiera zakres w referencji, z którego ma być zwrócone przecięcie suma wierszy oraz kolumna_num Jest to pole opcjonalne.
Podczas pisania formuły możesz wybrać, czy chcesz podać numer wiersza lub numer kolumny . If you provide numer wiersza to opcjonalnie można użyć numer kolumny i odwrotnie.
Możesz sprawdzić Wsparcie firmy Microsoft strona dla głębszego podziału składni.
Podstawy funkcji MATCH
Praktycznie jedna funkcja, którą częściej można spotkać z INDEX funkcja to funkcja MATCH . MATCH Funkcja służy do lokalizowania pozycji określonego elementu w zakresie komórek. Zwraca względną pozycję danego elementu w zakresie.
Składnia MATCH funkcja to
MATCH(lookup_value, lookup_array, match_type)
lookup_value: Wartość do wyszukania w tablicy lookup_array.
lookup_array: Zakres komórek, które są przeszukiwane.
match_type: Jest to pole opcjonalne, można wstawić 3 wartości.
1 = Mniejsza lub równa lookup_value
0 = Exact lookup_value
-1 = większe lub równe lookup_value
Aby uzyskać głębsze zrozumienie, możesz sprawdzić Wsparcie firmy Microsoft miejsce.
6 Odpowiednie przykłady użycia formuły INDEX-MATCH z wieloma dopasowaniami
Teraz zastosujemy te formuły i teorie w praktyce w naszym zbiorze danych. Rozwiązaliśmy różne scenariusze używając INDEX-MATCH z wieloma dopasowaniami w Excelu i zawarliśmy je w różnych sekcjach dla lepszego zrozumienia. Śledź, aby zobaczyć, jak możemy zastosować je w różnych scenariuszach lub jeśli wolisz konkretny, możesz znaleźć go w tabeli powyżej.
1) INDEX-MATCH z wieloma kryteriami
Do pobierania wartości z wiele kryteriów W pierwszej kolejności ustawiamy kryteria, np. jeśli chcemy pobrać cenę koszuli w małym rozmiarze (w naszym skoroszycie), musimy ustawić nazwę produktu - Koszula i rozmiar - Mały.
Teraz wykonaj te kroki, aby zobaczyć, jak możemy użyć formuły, aby znaleźć dopasowanie indeksu z tymi wieloma dopasowaniami w programie Excel.
Kroki:
- Najpierw wybierz komórkę G6 .
- Następnie zapisz następujący wzór.
=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))
🔎 Rozbicie formuły
INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))
👉
(G4=B5:B15) oraz (G5=C5:C15) są obydwoma warunkami i zwracają albo TRUE lub FALSE w zależności od tego, czy warunki są prawdziwe czy nie. Numerycznie są to 1 lub 0. Zatem mnożenie zwraca 1, gdy oba warunki są prawdziwe.
👉
MATCH(1,(G4=B5:B15)*(G5=C5:C15),0) zwraca pozycję, w której oba warunki są prawdziwe. W tym przypadku jest to 1.
👉
INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) zwraca wartość w pozycji, którą zwróciła poprzednia część formuły.
- Na koniec naciśnij Wejdź na stronę .
Oto jak możemy użyć INDEX MATCH dla wielu kryteriów lub dopasowań w Excelu.
Read More: Jak dopasować wiele kryteriów z różnych tablic w Excelu
2. INDEX-MATCH z wieloma kryteriami Przynależność do wierszy i kolumn
W tym rozdziale omówimy, jak wykonać lookup poprzez testowanie dwóch lub więcej kryteriów w wiersze i kolumny Może się to wydawać nieco podstępne i skomplikowane.
Wnosimy trochę zmian w naszym przykładzie, nasza tabela jest teraz ułożona w taki sposób, że wartości Size (Small, Large, M, XL) reprezentują poszczególne kolumny.
Podobnie jak w poprzednim punkcie, ustaw produkt i wymagany rozmiar jako wartości kryterialne.
Wykonaj poniższe kroki, aby zobaczyć, jak możemy wykorzystać wzór na ten odcinek.
Kroki:
- Najpierw wybierz komórkę I6 .
- Następnie zapisz w nim następujący wzór.
=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))
🔎 Rozbicie formuły
👉
MATCH(I4,B5:B7,0) zwraca dokładny odpowiednik wartości I4 w zakresie B5:B7 .
👉
Podobnie, MATCH(I5,C4:F4,0) zwraca dokładny odpowiednik wartości I5 w zakresie C4:F4 .
👉
Wreszcie, INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) przyjmuje wyjście pierwszej funkcji jako numer wiersza, a drugiej jako numer kolumny i zwraca wartość, która znajduje się na pozycji z zakresu C5:F7 .
- Następnie należy nacisnąć Wejdź na stronę .
Możemy więc użyć INDEX-MATCH z wieloma kryteriami należącymi do wierszy i kolumn.
Read More: Excel Indeks Dopasowanie pojedynczych/wielu kryteriów do pojedynczych/wielu wyników
Podobne lektury
- INDEX MATCH z 3 kryteriami w Excelu (4 przykłady)
- INDEX MATCH przez wiele arkuszy w Excelu (z alternatywą)
- Suma z funkcjami INDEX-MATCH pod wieloma kryteriami w Excelu
- Indeks dopasowania sumy wielu wierszy w Excelu (3 sposoby)
- INDEX-MATCH Formuła, aby znaleźć minimalną wartość w Excelu (4 odpowiednie sposoby)
3. INDEX-MATCH z kolumn nie sąsiadujących ze sobą
W tej części pokażemy przykład, jak pobrać pasujące do siebie wartości z dwóch nie sąsiadujących ze sobą kolumn. Dodatkowo potrzebujemy funkcja IFERROR dla tego scenariusza.
Będzie to zbiór danych do demonstracji.
Wykonaj te kroki, aby zobaczyć, jak możemy użyć INDEX-MATCH dla niesąsiadujących kolumn (produkt i ilość) w tym zbiorze danych.
Kroki:
- Najpierw wybierz komórkę G6 .
- Następnie zapisz w nim następujący wzór.
=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value")
🔎 Rozbicie formuły
IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value")
👉
MATCH(G5,B4:B7,0) znajduje dokładne dopasowanie wartości komórki G5 w zakresie B4:B7 .
👉
oraz MATCH(F6,B4:D4,0) znajduje dokładny odpowiednik F6 jest zakresem B4:D4 .
👉
Następnie INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) przyjmuje pierwszą wartość funkcji jako numer wiersza i drugą wartość funkcji jako numer kolumny i zwraca wartość w tej pozycji w zakresie B4:D7 .
👉
Wreszcie, IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value") zwraca łańcuch "Brak wartości", jeżeli podczas wykonywania formuły wystąpił błąd. W przeciwnym razie zwraca zwykłą wartość.
- Następnie naciśnij Wejdź na stronę na swojej klawiaturze.
W efekcie w Excelu możemy znaleźć pożądane dopasowanie za pomocą INDEX-MATCH z kolumn niesąsiadujących dla wybranych kryteriów, nawet dla wielu.
4. INDEX-MATCH z wielu tabel
Aby znaleźć dopasowania z wielu tabel możemy użyć INDEX-MATCH Obok tej funkcji będziemy potrzebować MAŁA , ISNUMBER , ROW , COUNTIF oraz IFERROR również funkcje.
W przykładowym arkuszu mamy 2 produkty sklepu. Korzystając z tego arkusza zobaczymy jak wykonać zadanie.
Wykonaj te kroki, aby zobaczyć, jak możemy użyć kombinacji tych funkcji wraz z INDEX-MATCH z wieloma dopasowaniami z tego zestawu tabel w Excelu.
Kroki:
- Najpierw wybierz komórkę C14 .
- Teraz zapisz następujący wzór.
=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
🔎 Rozbicie formuły
IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
👉
MATCH($B$6:$B$10, $C$12, 0) znajduje dokładny odpowiednik C12 w zakresie B6:B10 .
👉
ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) sprawdza, czy wartość jest liczbą w funkcji.
👉
IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") ROW($B$6:$B$10)) sprawdza czy poprzednia funkcja jest liczbą czy nie. Jeśli tak, to zwraca wartość wyjściową MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) czyli pozycja, w której tablica numerów wierszy jest dopasowana w pierwszym i drugim ROW W przeciwnym razie zwraca pusty łańcuch.
👉
SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) zwraca ROWS($A$1:A1) -ta najmniejsza wartość z tablicy.
👉
Wreszcie. INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))) zwraca wartość w danej pozycji w zakresie C6:C10 .
👉
INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))) robi to samo, ale z drugiej tabeli, ponieważ zakresy są wyraźnie różne w tej części formuły.
👉
Na koniec przyjmuje całą funkcję i zwraca m.in. INDEX-MATCH kombinacje. wpływ IFERROR Funkcja jest, gdyby podczas wykonywania formuły wystąpiły błędy, nie zwróciłaby żadnej wartości.
- Następnie naciśnij Wejdź na stronę .
- Po tym ponownie wybierz komórkę i kliknij i przeciągnij ikonę uchwytu wypełnienia w dół dla wielu komórek, aby znaleźć resztę wartości z tabel. Możesz przeciągnąć dodatkowe komórki, Excel zatrzyma wartości, gdy nie będzie ich więcej.
Oto jak możemy wykorzystać INDEX-MATCH używając kryteriów z wielu tabel w Excelu.
Read More: Wielokrotne kryteria w Excelu przy użyciu funkcji INDEX, MATCH i COUNTIF
5) INDEX-MATCH z wielu arkuszy
Możemy użyć formuły INDEX-MATCH na różnych arkuszach. Tutaj mamy te dwie tabele na dwóch różnych arkuszach.
Arkusz Sklep 1 dla sklepu 1 i arkusz Sklep 2 dla sklepu 2.
Aby uzyskać wynik, wystarczy podać nazwę arkusza przed odwołaniem do komórki. Wykonaj poniższe kroki, aby uzyskać więcej szczegółów.
Kroki:
- Najpierw wybierz komórkę C14 z arkusza "Sklep 1".
- Następnie zapisz następujący wzór.
=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
🔎 Rozbicie formuły
IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))), INDEX(‘Shop 2’!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH(‘Shop 2’!$B$6:$B$10, $C$12, 0)), MATCH(ROW(‘Shop 2’!$B$6:$B$10), ROW(‘Shop 2’!$B$6:$B$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
👉
MATCH($B$6:$B$10, $C$12, 0) wyszukuje dokładny odpowiednik wartości komórki C12 w zakresie B6:B10 .
👉
ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) sprawdza, czy wyjście z poprzedniej funkcji jest liczbą, czy nie. co określa, czy nastąpiło dopasowanie, czy nie. To jest tylko przekształcenie wartości liczbowej na boolean.
👉
Następnie IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") sprawdza wartość boolean i zwraca MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) jeśli wartość jest prawdziwa, w przeciwnym razie zwraca pusty łańcuch. MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) porcja jest ciągiem liczb, w którym WIERSZ($B$6:$B$10) oraz WIERSZ($B$6:$B$10) mecze. to tylko poręczna sztuczka, aby ograniczyć całkowitą liczbę wierszy w wybranej sekcji.
👉
Po tym, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1) poszukuje ROWS($A$1:A1) -ta najmniejsza wartość z wyjścia JEŚLI porcja.
👉
Wreszcie, INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))) przyjmuje wyjście poprzedniej funkcji jako numer wiersza i ROWS($A$1:A1) jako numer kolumny i zwraca wartość, która znajduje się na tej pozycji w zakresie C6:C10 .
👉
Podobnie, INDEX('Sklep 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Sklep 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Sklep 2'!$B$6:$B$10), ROW('Sklep 2'!$B$6:$B$10)), "") wykonuje to samo, ale z drugiego arkusza. Ponieważ nazwa arkusza to "Sklep 2", dodaliśmy go przed wybraniem zakresów/komórek. Nie trzeba ich dodawać do arkusza, na którym wykonujemy obliczenia. Nie zrobiliśmy więc tego dla "Sklepu 1" w poprzedniej części formuły.
👉
Na koniec dodaliśmy całą funkcję w postaci IFERROR Powodem jest zwrócenie pustego miejsca w przypadku wystąpienia błędów podczas wykonywania formuły.
- Na koniec naciśnij Wejdź na stronę .
- Teraz ponownie wybierz komórkę, a następnie kliknij i przeciągnij ikonę uchwytu wypełnienia dla niektórych komórek w dół (więcej niż szacowana ilość komórki wyjściowej powinna być w porządku).
W związku z tym znajdziemy wszystkie dopasowania za pomocą INDEX-MATCH z wielu arkuszy w Excelu.
6. INDEX-MATCH dla wielu kryteriów bez tablicy
Możemy również użyć INDEX-MATCH dla wielu dopasowań lub kryteriów bez żadnej tablicy. Na przykład weźmy następujący zbiór danych.
Ale aby to osiągnąć, potrzebujemy najpierw kolumny pomocniczej.Użyjemy funkcja CONCATENATE oprócz omawianych funkcji. Wykonaj te kroki, aby uzyskać pełny przewodnik.
Kroki:
- Najpierw wybierz komórkę F5 i zapisać następujący wzór.
=CONCATENATE(C5,",",D5,",",E5)
- Następnie naciśnij Wejdź na stronę .
- Teraz ponownie wybierz komórkę, kliknij i przeciągnij ikonę uchwytu wypełnienia na koniec kolumny, aby powielić formułę dla pozostałych komórek.
- Następnie znajdziemy INDEX-MATCH dla wszystkich setek w oryginalnym zbiorze danych. W tym celu należy wybrać komórkę, w której będzie przechowywana wartość ( H5 w tym przypadku).
- Następnie wstawić następujący wzór.
=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))
🔎 Rozbicie formuły
👉 MATCH(“100,100,100”,F5:F19,0) wyszukuje dokładny odpowiednik 100,100,100 w zakresie F5:F19 .
👉 Potem. INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) zwraca wartość w pozycji, w której wartość pasuje.
- Na koniec naciśnij Wejdź na stronę .
W ten sposób możemy użyć INDEX-MATCH dla wielu kryteriów lub dopasowań w Excelu bez żadnej tablicy.
Jak zwrócić wiele wartości pionowo za pomocą formuły INDEX-MATCH w Excelu
W przypadku, gdy chcesz zwrócić wiele wartości w pionie za pomocą INDEX-MATCH, spójrzmy na następujący przykład.
Wykonaj poniższe kroki, aby zobaczyć, jak możemy to osiągnąć dla zbioru danych.
Kroki:
- Najpierw wybierz komórkę F5 .
- Po drugie, zapisz następujący wzór.
=IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1)),ROW(1:1))),"")
🔎 Rozbicie formuły
👉
WIERSZ($B$5:$B$14) zwraca tablicę zawierającą numery wierszy zakresu B5:B14 .
👉
ROW($B$5:$B$14)-ROW($B$5)+1 zwraca różnicę między tablicą a numerem wiersza komórki B5 Która w tym przypadku jest po prostu tablicą od 1 do 10.
👉
IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) sprawdza, gdzie znajduje się wartość komórki E5 jest równa w zakresie B5:B14 i zwraca liczbę w tablicy, w której jest prawdziwa z poprzedniej tablicy.
👉
SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1) zwraca najmniejszą liczbę z tablicy.
👉
INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1)),ROW(1:1))) następnie zwraca wartość w tej pozycji w zakresie C5:C14 .
👉
W końcu, IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1)),ROW(1:1))),"") upewnia się, że jeśli wartość powoduje błąd w formule, zwraca pusty ciąg.
- Po trzecie, naciśnij Wejdź na stronę .
- Następnie ponownie wybierz komórkę. Na koniec kliknij i przeciągnij ikonę uchwytu wypełnienia w dół dla niektórych komórek, aby uzyskać wszystkie wartości.
W ten sposób możemy zwrócić wiele wartości w pionie za pomocą INDEX-MATCH w Excelu.
Read More: INDEX MATCH z wieloma kryteriami w innym arkuszu (2 sposoby)
Wniosek
To wszystko na dziś.Próbowaliśmy pokazać Ci kilka sposobów na INDEX MATCH z wieloma dopasowaniami.Mamy nadzieję, że uznasz to za pomocne.Zapraszamy do komentowania, jeśli coś wydaje się trudne do zrozumienia.Zapraszamy do zgłaszania nam innych metod na wykonanie zadania.
Więcej takich poradników można znaleźć na stronie Exceldemy.com .