Funkcja MATCH w Excelu z przykładami formuł

  • Udostępnij To
Michael Brown

Ten tutorial wyjaśnia jak używać funkcji MATCH w Excelu z przykładami formuł. Pokazuje również jak ulepszyć formuły lookup poprzez tworzenie dynamicznych formuł z VLOOKUP i MATCH.

W programie Microsoft Excel istnieje wiele różnych funkcji wyszukiwania / odnoszenia, które mogą pomóc w znalezieniu określonej wartości w zakresie komórek, a MATCH jest jednym z nich. Zasadniczo identyfikuje względną pozycję elementu w zakresie komórek. Jednak funkcja MATCH może zrobić znacznie więcej niż jej czysta istota.

    Funkcja MATCH w Excelu - składnia i zastosowania

    Funkcja MATCH w programie Excel wyszukuje określoną wartość w zakresie komórek i zwraca względną pozycję tej wartości.

    Składnia funkcji MATCH jest następująca:

    MATCH(lookup_value, lookup_array, [match_type])

    Lookup_value (wymagane) - wartość, którą chcemy znaleźć. Może to być wartość liczbowa, tekstowa lub logiczna, a także odwołanie do komórki.

    Lookup_array (wymagane) - zakres komórek do przeszukiwania.

    Typ meczu (opcjonalne) - określa typ dopasowania. Może to być jedna z poniższych wartości: 1, 0, -1. Argument match_type ustawiony na 0 zwraca tylko dokładne dopasowanie, natomiast dwa pozostałe typy pozwalają na dopasowanie przybliżone.

    • 1 lub pominięty (domyślnie) - znajdź największa wartość w tablicy lookup, która jest mniejsza lub równa wartości lookup. Wymaga sortowania tablicy lookup w porządku rosnącym, od najmniejszego do największego lub od A do Z.
    • 0 - znajdź pierwszą wartość w tablicy, która jest dokładnie równy Nie jest wymagane sortowanie.
    • -1 - znajdź najmniejsza wartość w tablicy, która jest większa lub równa wartości lookup. Tablica lookup powinna być posortowana w porządku malejącym, od największego do najmniejszego lub od Z do A.

    Aby lepiej zrozumieć funkcję DOPASUJ, stwórzmy prostą formułę na podstawie tych danych: nazwiska studentów w kolumnie A i ich wyniki egzaminów w kolumnie B, posortowane od największego do najmniejszego. Aby dowiedzieć się, gdzie konkretny student (powiedzmy, Laura ) stoiska między innymi korzystają z tego prostego wzoru:

    =MATCH("Laura", A2:A8, 0)

    Opcjonalnie możesz umieścić wartość lookup w jakiejś komórce (E1 w tym przykładzie) i odwołać się do tej komórki w swojej formule Excel Match:

    =MATCH(E1, A2:A8, 0)

    Jak widać na powyższym zrzucie ekranu, nazwiska uczniów są wprowadzane w arbitralnej kolejności, dlatego ustawiamy opcję dopasowanie_typu argument na 0 (dopasowanie dokładne), ponieważ tylko ten typ dopasowania nie wymaga sortowania wartości w tablicy lookup. Technicznie rzecz biorąc, formuła Match zwraca względną pozycję Laury w zakresie, ale ponieważ wyniki są posortowane od największego do najmniejszego, mówi nam również, że Laura ma 5. najlepszy wynik wśród wszystkich studentów.

    Porada W Excelu 365 i Excelu 2021 można korzystać z funkcji XMATCH, która jest nowoczesnym i bardziej rozbudowanym następcą funkcji MATCH.

    4 rzeczy, które powinieneś wiedzieć o funkcji MATCH

    Jak właśnie zobaczyłeś, korzystanie z funkcji MATCH w Excelu jest proste. Jednak, jak w przypadku prawie każdej innej funkcji, istnieje kilka specyficznych cech, o których powinieneś wiedzieć:

    1. Funkcja MATCH zwraca położenie względne wartości lookup w tablicy, a nie samej wartości.
    2. MATCH to bez rozróżniania wielkości liter , co oznacza, że nie rozróżnia małych i dużych liter podczas postępowania z wartościami tekstowymi.
    3. Jeśli tablica lookup zawiera kilka wystąpień wartości lookup, zwracana jest pozycja pierwszej wartości.
    4. Jeśli wartość lookup nie zostanie znaleziona w tablicy lookup, zwracany jest błąd #N/A.

    Jak używać MATCH w Excelu - przykłady formuł

    Teraz, gdy znasz już podstawowe zastosowania funkcji MATCH w Excelu, omówmy jeszcze kilka przykładów formuł, które wykraczają poza podstawy.

    Częściowe dopasowanie z symbolami wieloznacznymi

    Jak wiele innych funkcji, MATCH rozumie następujące znaki wieloznaczne:

    • Znak zapytania (?) - zastępuje dowolny pojedynczy znak
    • Gwiazdka (*) - zastępuje dowolny ciąg znaków

    Uwaga. Znaki wieloznaczne mogą być używane tylko w formułach Match z dopasowanie_typu ustawiony na 0.

    Formuła Match z symbolami wieloznacznymi przydaje się w sytuacjach, gdy chcemy dopasować nie cały ciąg tekstowy, ale tylko niektóre znaki lub część ciągu. Aby zilustrować ten punkt, rozważ następujący przykład.

    Załóżmy, że masz listę regionalnych sprzedawców i ich wyniki sprzedaży za ostatni miesiąc. Chcesz znaleźć względną pozycję pewnego sprzedawcy na liście (posortowanej według kwot sprzedaży w porządku malejącym), ale nie pamiętasz dokładnie jego nazwy, choć pamiętasz kilka pierwszych znaków.

    Zakładając, że nazwy resellerów znajdują się w zakresie A2:A11, a Ty szukasz nazwy zaczynającej się od "auto", formuła przebiega następująco:

    =MATCH("samochód*", A2:A11,0)

    Aby nasza formuła Match była bardziej uniwersalna, możesz wpisać wartość lookup w jakiejś komórce (E1 w tym przykładzie), a następnie połączyć tę komórkę ze znakiem wieloznacznym, jak poniżej:

    =MATCH(E1& "*", A2:A11,0)

    Jak widać na poniższym zrzucie ekranu, formuła zwraca 2, czyli pozycję "Carter":

    Aby zastąpić tylko jeden znak w wartości lookup, użyj operatora wieloznacznego "?", jak poniżej:

    =MATCH("ba?er", A2:A11,0)

    Powyższa formuła będzie pasowała do nazwy " Baker " i ponownie uruchomić jego względną pozycję, która wynosi 5.

    Formuła MATCH rozróżniająca wielkość liter

    Jak wspomniano na początku tego poradnika, funkcja MATCH nie rozróżnia wielkich i małych liter. Aby stworzyć formułę Match z uwzględnieniem wielkości liter, należy użyć MATCH w połączeniu z funkcją EXACT, która porównuje komórki dokładnie, z uwzględnieniem wielkości liter.

    Oto ogólna formuła rozróżniania wielkości liter, aby dopasować dane:

    MATCH(TRUE, EXACT( tablica lookup , wartość podglądu ), 0)

    Formuła działa z następującą logiką:

    • Funkcja EXACT porównuje wartość lookup z każdym elementem tablicy lookup. Jeśli porównywane komórki są dokładnie równe, funkcja zwraca TRUE, w przeciwnym wypadku FALSE.
    • A następnie funkcja MATCH porównuje TRUE (czyli swój lookup_value ) z każdą wartością w tablicy zwróconej przez EXACT, i zwraca pozycję pierwszego dopasowania.

    Należy pamiętać, że jest to formuła tablicowa, która wymaga naciśnięcia klawiszy Ctrl + Shift + Enter, aby została poprawnie zakończona.

    Zakładając, że twoja wartość lookup znajduje się w komórce E1, a tablica lookup to A2:A9, formuła jest następująca:

    =MATCH(TRUE, EXACT(A2:A9,E1),0)

    Poniższy zrzut ekranu przedstawia formułę Match z rozróżnianiem wielkości liter w programie Excel:

    Porównaj 2 kolumny w poszukiwaniu zgodności i różnic (ISNA MATCH)

    Sprawdzanie dwóch list pod kątem dopasowań i różnic jest jednym z najczęstszych zadań w Excelu i można to zrobić na wiele sposobów. Formuła ISNA/MATCH jest jednym z nich:

    IF(ISNA(MATCH( 1. wartość z Listy1 , Lista2 , 0)), "Nie ma na liście 1", "")

    Dla każdej wartości z listy 2, która nie występuje na liście 1, formuła zwraca " Nie w wykazie 1 "... A oto jak:

    • Funkcja MATCH szuka wartości z listy 1 wewnątrz listy 2. Jeśli wartość zostanie znaleziona, zwraca jej względną pozycję, w przeciwnym razie błąd #N/A.
    • Funkcja ISNA w Excelu robi tylko jedną rzecz - sprawdza, czy nie ma błędów #N/A (czyli "niedostępnych"). Jeśli dana wartość jest błędem #N/A, funkcja zwraca TRUE, w przeciwnym razie FALSE. W naszym przypadku TRUE oznacza, że wartość z listy 1 nie znajduje się w obrębie listy 2 (czyli błąd #N/A jest zwracany przez MATCH).
    • Ponieważ może być bardzo mylące dla twoich użytkowników, aby zobaczyć TRUE dla wartości, które nie pojawiają się na liście 1, zawijasz funkcję IF wokół ISNA, aby wyświetlić " Nie w wykazie 1 " zamiast, lub dowolny tekst, który chcesz.

    Na przykład, aby porównać wartości w kolumnie B z wartościami w kolumnie A, formuła przyjmuje następujący kształt (gdzie B2 to najwyższa komórka):

    =IF(ISNA(MATCH(B2,A:A,0)), "Nie w liście 1", "")

    Jak pamiętasz, funkcja MATCH w Excelu sama nie rozróżnia wielkości liter. Aby rozróżniała wielkość liter, należy osadzić funkcję EXACT w lookup_array argument, i pamiętaj, aby nacisnąć Ctrl + Shift + Enter, aby zakończyć to formuła macierzowa :

    =IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Nie w liście 1", "")

    Poniższy zrzut ekranu pokazuje obie formuły w działaniu:

    Aby poznać inne sposoby porównywania dwóch list w Excelu, zapoznaj się z tutorialem: Jak porównać 2 kolumny w Excelu.

    Excel VLOOKUP i MATCH

    Ten przykład zakłada, że masz już pewną podstawową wiedzę na temat funkcji VLOOKUP w Excelu. A jeśli tak, to są szanse, że natknąłeś się na jej liczne ograniczenia (których szczegółowy przegląd znajdziesz w Dlaczego Excel VLOOKUP nie działa) i szukasz solidniejszej alternatywy.

    Jedną z najbardziej irytujących wad VLOOKUP jest to, że przestaje on działać po wstawieniu lub usunięciu kolumny w tabeli lookup. Dzieje się tak, ponieważ VLOOKUP wyciąga pasującą wartość na podstawie numeru kolumny zwrotnej, który określamy (numer indeksu). Ponieważ numer indeksu jest "twardo zakodowana" w formule, Excel nie jest w stanie jej dostosować, gdy do tabeli zostanie dodana lub usunięta nowa kolumna (kolumny).

    Funkcja MATCH w Excelu zajmuje się m.in. położenie względne wartości lookup, co sprawia, że doskonale pasuje do col_index_num Innymi słowy, zamiast określać kolumnę zwrotną jako statyczną liczbę, używasz MATCH, aby uzyskać bieżącą pozycję tej kolumny.

    Aby łatwiej było to zrozumieć, ponownie użyjmy tabeli z wynikami egzaminów studentów (podobnej do tej, której używaliśmy na początku tego tutorialu), ale tym razem będziemy pobierać rzeczywisty wynik, a nie jego względną pozycję.

    Zakładając, że wartość lookup znajduje się w komórce F1, tablica to $A$1:$C$2 (dobrą praktyką jest zablokowanie jej za pomocą bezwzględnych odniesień do komórek, jeśli planujesz skopiować formułę do innych komórek), formuła przebiega następująco:

    =VLOOKUP(F1, $A$1:$C$8, 3, FALSE)

    Trzeci argument (. col_index_num ) jest ustawiony na 3, ponieważ. Wynik z matematyki które chcemy wyciągnąć to 3 kolumna w tabeli. Jak widać na zrzucie ekranu poniżej, ta zwykła formuła Vlookup działa dobrze:

    Ale tylko do momentu wstawienia lub usunięcia kolumny (kolumn):

    Więc, dlaczego błąd #REF!? Ponieważ col_index_num ustawiona na 3 każe Excelowi pobrać wartość z trzeciej kolumny, podczas gdy teraz w tablicy są tylko 2 kolumny.

    Aby zapobiec takim rzeczom, możesz uczynić swoją formułę Vlookup bardziej dynamiczną, włączając następującą funkcję Match:

    MATCH(E2,A1:C1,0)

    Gdzie:

    • E2 jest wartością lookup, która wynosi dokładnie równy do nazwy kolumny zwrotnej, czyli kolumny, z której chcemy wyciągnąć wartość ( Wynik z matematyki w tym przykładzie).
    • A1:C1 to tablica lookup zawierająca nagłówki tabel.

    A teraz dołącz tę funkcję Match do col_index_num argument swojej formuły Vlookup, jak np:

    =VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)

    I upewnij się, że działa nienagannie bez względu na to, ile kolumn dodasz lub usuniesz:

    Na powyższym zrzucie ekranu zablokowałem wszystkie odwołania do komórek, aby formuła działała poprawnie, nawet jeśli moi użytkownicy przeniosą ją w inne miejsce w arkuszu. Jak widać na poniższym zrzucie ekranu, formuła działa bez zarzutu po usunięciu kolumny; ponadto Excel jest na tyle inteligentny, że w tym przypadku prawidłowo dostosowuje odwołania bezwzględne:

    Excel HLOOKUP i MATCH

    W podobny sposób można wykorzystać funkcję MATCH w Excelu, aby ulepszyć formuły HLOOKUP. Ogólna zasada jest zasadniczo taka sama jak w przypadku Vlookup: używasz funkcji Match, aby uzyskać względną pozycję kolumny zwrotnej, a następnie dostarczasz tę liczbę do funkcji suma_indeksu_wiersza argumentu twojej formuły Hlookup.

    Zakładając, że wartość lookup jest w komórce B5, tablica to B1:H3, nazwa wiersza zwrotnego (wartość lookup dla MATCH) jest w komórce A6, a nagłówki wierszy to A1:A3, pełna formuła jest następująca:

    =HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)

    Jak właśnie zobaczyłeś, kombinacja Hlookup/Vlookup & Match jest z pewnością ulepszeniem w stosunku do zwykłych formuł Hlookup i Vlookup. Jednak funkcja MATCH nie eliminuje wszystkich ich ograniczeń. W szczególności, formuła Vlookup Match nadal nie może patrzeć na swoją lewą stronę, a Hlookup Match nie przeszukuje żadnego wiersza poza najwyższym.

    Aby pokonać powyższe (i kilka innych) ograniczenia, rozważ użycie kombinacji INDEX MATCH, która zapewnia naprawdę potężny i wszechstronny sposób wykonywania lookupu w Excelu, przewyższający pod wieloma względami Vlookup i Hlookup. Szczegółowe wskazówki i przykłady formuł można znaleźć w INDEX & MATCH w Excelu - lepsza alternatywa dla VLOOKUP.

    W taki sposób używa się formuł MATCH w Excelu. Mam nadzieję, że przykłady omówione w tym tutorialu okażą się pomocne w Twojej pracy. Dziękuję za lekturę i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!

    Zeszyt ćwiczeń do pobrania

    Przykłady formuły MATCH w Excelu (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.