Funkcja XMATCH w Excelu z przykładami formuł

  • Udostępnij To
Michael Brown

Tutorial wprowadza nową funkcję Excela XMATCH i pokazuje, w jaki sposób jest ona lepsza od MATCH do rozwiązywania kilku typowych zadań.

W Excelu 365 dodano funkcję XMATCH, która zastąpiła funkcję MATCH. Ale zanim zaczniesz aktualizować swoje istniejące formuły, mądrze byłoby zrozumieć wszystkie zalety nowej funkcji i jak różni się ona od starej.

Podsumowując, funkcja XMATCH jest taka sama jak MATCH, ale bardziej elastyczna i wytrzymała. Może szukać zarówno w tablicach pionowych jak i poziomych, wyszukiwać od pierwszego do ostatniego lub od ostatniego do pierwszego, znajdować dokładne, przybliżone i częściowe dopasowania oraz używać szybszego algorytmu wyszukiwania binarnego.

    Funkcja XMATCH w programie Excel

    Funkcja XMATCH w Excelu zwraca względne położenie wartości w tablicy lub zakresie komórek.

    Ma ona następującą składnię:

    XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])

    Gdzie:

    Lookup_value (wymagane) - wartość, której należy szukać.

    Lookup_array (wymagane) - tablica lub zakres komórek, w których należy szukać.

    Tryb dopasowania (opcjonalnie) - określa, który typ dopasowania ma być użyty:

    • 0 lub pominięty (domyślnie) - dokładne dopasowanie
    • -1 - dokładne dopasowanie lub kolejna najmniejsza wartość
    • 1 - dokładne dopasowanie lub kolejna największa wartość
    • 2 - dopasowanie wieloznaczne (*, ?)

    Search_mode (opcjonalne) - określa kierunek i algorytm wyszukiwania:

    • 1 lub pominięty (domyślnie) - wyszukiwanie od pierwszego do ostatniego.
    • -1 - wyszukiwanie w odwrotnej kolejności od ostatniego do pierwszego.
    • 2 - wyszukiwanie binarne rosnące. wymaga lookup_array aby były posortowane w porządku rosnącym.
    • -2 - wyszukiwanie binarne malejące. wymaga lookup_array aby były posortowane w porządku malejącym.

    Wyszukiwanie binarne jest szybszym algorytmem, który działa efektywnie na posortowanych tablicach. Więcej informacji na ten temat znajdziesz w dziale Tryb wyszukiwania.

    Która wersja Excela posiada XMATCH?

    Funkcja XMATCH jest dostępna tylko w programie Excel dla Microsoft 365 i Excel 2021. W programie Excel 2019, Excel 2016 i wcześniejszych wersjach ta funkcja nie jest obsługiwana.

    Podstawowa formuła XMATCH w Excelu

    Aby uzyskać ogólne pojęcie o możliwościach funkcji, zbudujmy formułę XMATCH w jej najprostszej postaci, definiując tylko dwa pierwsze wymagane argumenty i pozostawiając opcjonalne jako domyślne.

    Załóżmy, że masz listę oceanów uszeregowanych według ich wielkości (C2:C6) i chcesz znaleźć rangę konkretnego oceanu. Aby to zrobić, wystarczy użyć nazwy oceanu, powiedzmy Indianin , jako wartość lookup i cała lista nazw jako tablica lookup:

    =XMATCH("Indianin", C2:C6)

    Aby formuła była bardziej elastyczna, wprowadź ocean zainteresowania w jakiejś komórce, powiedzmy F1:

    =XMATCH(F1, C2:C6)

    W rezultacie otrzymujemy formułę XMATCH do wyszukania w układ pionowy Wyjściem jest względna pozycja wartości lookup w tablicy, która w naszym przypadku odpowiada randze oceanu:

    Podobna formuła doskonale sprawdza się w przypadku. układ poziomy też. Wszystko, co musisz zrobić, to ustawić lookup_array referencje:

    =XMATCH(B5, B1:F1)

    Funkcja XMATCH w Excelu - rzeczy, o których warto pamiętać

    Aby efektywnie wykorzystać XMATCH w swoich arkuszach i zapobiec nieoczekiwanym rezultatom, należy pamiętać o tych 3 prostych faktach:

    • Jeżeli w tablicy lookup znajdują się dwa lub więcej wystąpienia wartości lookup, to pozycja pierwszy mecz jest zwracany, jeśli search_mode argument jest ustawiony na 1 lub pominięty. z search_mode ustawiona na -1, funkcja wyszukuje w odwrotnej kolejności i zwraca pozycję ostatni mecz jak pokazano w tym przykładzie.
    • Jeśli wartość lookup nie został znaleziony , pojawia się błąd #N/A.
    • Funkcja XMATCH to. bez rozróżniania wielkości liter z natury i nie potrafi rozróżnić wielkości liter. Aby rozróżnić małe i duże litery, należy użyć tej wrażliwej na wielkość liter formuły XMATCH.

    Jak wykorzystać XMATCH w Excelu - przykłady formuł

    Poniższe przykłady pomogą Ci lepiej zrozumieć funkcję XMATCH i jej praktyczne zastosowania.

    Dokładne dopasowanie a przybliżone dopasowanie

    Zachowanie dopasowania w XMATCH jest kontrolowane przez opcjonalne tryb dopasowania argument:

    • 0 lub pominięte (domyślnie) - formuła szuka tylko dokładnego dopasowania. Jeśli dokładne dopasowanie nie zostanie znalezione, zwracany jest błąd #N/A.
    • -1 - formuła wyszukuje najpierw exact match, a potem kolejne mniejsze elementy.
    • 1 - formuła wyszukuje najpierw exact match, a następnie kolejny większy element.

    A teraz zobaczmy, jak różne tryby dopasowania wpływają na wynik formuły. Załóżmy, że chcesz dowiedzieć się, gdzie wśród wszystkich oceanów stoi pewien obszar, powiedzmy 80 000 000 km2.

    Dokładne dopasowanie

    Jeśli użyjesz 0 dla tryb dopasowania , otrzymasz błąd #N/A, ponieważ formuła nie może znaleźć wartości dokładnie równej wartości lookup:

    =XMATCH(80000000, C2:C6, 0)

    Następna najmniejsza pozycja

    Jeśli użyjesz -1 dla tryb dopasowania , formuła zwróci 3, ponieważ najbliższe dopasowanie mniejsze niż wartość lookup to 70 560 000 i jest to 3 pozycja w tablicy lookup:

    =XMATCH(80000000, C2:C6, -1)

    Następna największa pozycja

    Jeśli użyjesz 1 dla tryb dopasowania , formuła wyprowadzi 2, ponieważ najbliższe dopasowanie większe niż wartość lookup to 85 133 000, czyli 2 pozycja w tablicy lookup:

    =XMATCH(80000000, C2:C6, -1)

    Poniższy obrazek przedstawia wszystkie wyniki:

    Jak dopasować częściowy tekst w programie Excel za pomocą symboli wieloznacznych

    Funkcja XMATCH posiada specjalny tryb dopasowania dla znaków wieloznacznych:. tryb dopasowania argument ustawiony na 2.

    W trybie dopasowania wieloznacznego formuła XMATCH akceptuje następujące znaki wieloznaczne:

    • Znak zapytania (?), aby dopasować dowolny pojedynczy znak.
    • Gwiazdka (*) do dopasowania dowolnego ciągu znaków.

    Należy pamiętać, że symbole wieloznaczne działają tylko z tekstem, nie z liczbami.

    Na przykład, aby znaleźć pozycję pierwszej pozycji, która zaczyna się od "południa", formuła to:

    =XMATCH("południe*", B2:B6, 2)

    Możesz też wpisać swoje wyrażenie wieloznaczne w jakiejś komórce, np. F1, i podać odwołanie do komórki dla lookup_value argument:

    =XMATCH(F1, B2:B6, 2)

    W przypadku większości funkcji Excela używałbyś tyldy (~), aby traktować gwiazdkę (~*) lub znak zapytania (~?) jako znaki dosłowne, a nie symbole wieloznaczne. W przypadku XMATCH tylda nie jest potrzebna. Jeśli nie zdefiniujesz trybu dopasowania do znaków wieloznacznych, XMATCH przyjmie, że ? i * są znakami regularnymi.

    Na przykład poniższa formuła przeszuka zakres A2:A7 dokładnie pod kątem znaku gwiazdki:

    =XMATCH("*", A2:A7)

    XMATCH wyszukiwanie wsteczne, aby znaleźć ostatnie dopasowanie

    W przypadku, gdy w tablicy lookup znajduje się kilka wystąpień wartości lookup, czasami może być konieczne uzyskanie pozycji ostatnie zdarzenie .

    Kierunek wyszukiwania jest kontrolowany przez 4 argument XMATCH o nazwie search_mode Wyszukiwanie w odwrotnej kolejności, tzn. od dołu do góry w przypadku tablicy pionowej i od prawej do lewej w przypadku tablicy poziomej, search_mode powinien być ustawiony na -1.

    W tym przykładzie zwrócimy pozycję ostatniego rekordu dla określonej wartości lookup (proszę zobaczyć zrzut ekranu poniżej). W tym celu ustaw argumenty w następujący sposób:

    • Lookup_value - docelowy sprzedawca w H1
    • Lookup_array - nazwiska sprzedawców w C2:C10
    • Tryb dopasowania jest 0 lub pominięte (dokładne dopasowanie)
    • Search_mode jest -1 (last-to-first)

    Składając te cztery argumenty razem, otrzymujemy taki oto wzór:

    =XMATCH(H1, C2:C10, 0, -1)

    Który zwraca numer ostatniej sprzedaży dokonanej przez Laurę:

    Jak porównać dwie kolumny w Excelu dla dopasowania

    Aby porównać dwie listy pod kątem dopasowania, można użyć funkcji XMATCH wraz z IF i ISNA:

    IF( ISNA( XMATCH( cel_lista , szukaj_listy , 0)), "Brak meczu", "Mecz").

    Na przykład, aby porównać Listę 2 w B2:B10 z Listą 1 w A2:A10, formuła przyjmuje następującą postać:

    =IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")

    W tym przykładzie identyfikujemy tylko dopasowania, dlatego też wartość_jeśli_true argumentem funkcji JEŻELI jest pusty ciąg ("").

    Wpisz powyższą formułę w najwyższej komórce (C2 w naszym przypadku), naciśnij Enter , a "rozleje się" ona automatycznie na pozostałe komórki (nazywa się to zakresem rozlewania):

    Jak działa ta formuła

    W sercu formuły funkcja XMATCH szuka wartości z listy 2 w obrębie listy 1. Jeśli wartość zostanie znaleziona, zwracana jest jej względna pozycja, w przeciwnym razie błąd #N/A. W naszym przypadku wynikiem działania XMATCH jest następująca tablica:

    {#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}

    Tablica ta jest "podawana" do funkcji ISNA, która sprawdza ją pod kątem błędów #N/A. Dla każdego błędu #N/A, ISNA zwraca TRUE; dla każdej innej wartości - FALSE. W wyniku tego otrzymuje następującą tablicę wartości logicznych, gdzie TRUE reprezentuje wartości niepasujące, a FALSE - pasujące:

    {TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE}

    Powyższa tablica przechodzi do testu logicznego funkcji JEŻELI. W zależności od tego, jak skonfigurujemy dwa ostatnie argumenty, formuła wypisuje odpowiedni tekst. W naszym przypadku jest to pusty ciąg ("") dla niedopasowań ( wartość_jeśli_true ) i "Match in List 1" dla meczów ( wartość_jeśli_false ).

    Uwaga. Ta formuła działa tylko w programie Excel 365 i Excel 2021, które obsługują dynamiczne tablice. Jeśli używasz programu Excel 2019, Excel 2016 lub wcześniejszej wersji, sprawdź inne rozwiązania: Jak porównać dwie kolumny w programie Excel.

    INDEKS XMATCH w Excelu

    XMATCH można użyć w połączeniu z funkcją INDEX, aby pobrać wartość z innej kolumny związanej z wartością lookup, podobnie jak w przypadku formuły INDEX MATCH. Ogólne podejście jest następujące:

    INDEKS ( powrót _ macierz , XMATCH ( lookup_value , lookup_array )

    Logika jest bardzo prosta i łatwa do naśladowania:

    Funkcja XMATCH oblicza względną pozycję wartości lookup w tablicy lookup i przekazuje ją do suma wierszy Na podstawie numeru wiersza funkcja INDEX zwraca wartość z dowolnej, podanej przez użytkownika kolumny.

    Na przykład, aby sprawdzić powierzchnię oceanu w E1, możesz użyć tego wzoru:

    =INDEX(B2:B6, XMATCH(E1, A2:A6))

    INDEX XMATCH XMATCH do wykonania 2-dimensjonalnego lookupu

    Aby szukać jednocześnie w kolumnach i wierszach, należy użyć INDEX wraz z dwiema funkcjami XMATCH. Pierwsza XMATCH pobierze numer wiersza, a druga numer kolumny:

    INDEKS ( dane , XMATCH ( lookup_value , pionowe _ lookup_array ), XMATCH ( wartość podglądu , pozioma _ lookup_array ))

    Formuła jest podobna do INDEX MATCH z tym, że można pominąć tryb dopasowania ponieważ domyślnie ustawia się na dokładne dopasowanie.

    Przykładowo, aby pobrać numer sprzedaży dla danej pozycji (G1) w określonym miesiącu (G2), formuła to:

    =INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))

    Gdzie B2:D8 to komórki danych z wyłączeniem nagłówków wierszy i kolumn, A2:A8 to lista pozycji, a B1:D1 to nazwy miesięcy.

    Formuła XMATCH z rozróżnianiem wielkości liter

    Jak już wspomniano, funkcja XMATCH programu Excel z założenia nie rozróżnia wielkości liter. Aby zmusić ją do rozróżniania wielkości tekstu, należy użyć funkcji XMATCH w połączeniu z funkcją EXACT:

    MATCH(TRUE, EXACT( lookup_array , lookup_value ))

    Aby szukać w odwrotna kolejność od ostatniego do pierwszego:

    MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)

    Poniższy przykład pokazuje tę ogólną formułę w działaniu. Załóżmy, że masz listę identyfikatorów produktów z rozróżnianiem wielkości liter w B2:B11. Chcesz znaleźć względną pozycję pozycji w E1. Formuła rozróżniania wielkości liter w E2 jest tak prosta, jak to:

    =XMATCH(TRUE, EXACT(B2:B11, E1))

    Jak działa ta formuła:

    Funkcja EXACT porównuje wartość szukaną z każdym elementem tablicy lookup. Jeżeli porównywane wartości są dokładnie równe, łącznie z przypadkiem znaków, funkcja zwraca TRUE, w przeciwnym wypadku FALSE. Ta tablica wartości logicznych (gdzie TRUE oznacza dokładne dopasowanie) trafia do lookup_array A ponieważ wartość lookup jest TRUE, funkcja XMATCH zwraca pozycję pierwszego znalezionego dokładnego dopasowania lub ostatniego dokładnego dopasowania, w zależności od tego, jak skonfigurowałeś XMATCH. search_mode argument.

    XMATCH vs. MATCH w Excelu

    XMATCH został zaprojektowany jako bardziej wydajny i wszechstronny zamiennik MATCH, dlatego te dwie funkcje mają wiele wspólnego. Istnieją jednak zasadnicze różnice.

    Inne zachowanie domyślne

    Domyślnym ustawieniem funkcji MATCH jest dokładne dopasowanie lub następny najmniejszy element ( dopasowanie_typu ustawione na 1 lub pominięte).

    Funkcja XMATCH domyślnie ustawia się na dokładne dopasowanie ( tryb dopasowania ustawione na 0 lub pominięte).

    Inne zachowanie dla dopasowania przybliżonego

    Kiedy tryb dopasowania / dopasowanie_typu argument jest ustawiony na 1:

    • MATCH szuka dokładnego dopasowania lub następnego najmniejszego. Wymaga, aby tablica lookup była posortowana w porządku rosnącym.
    • XMATCH wyszukuje dokładne dopasowanie lub następne największe. Nie wymaga żadnego sortowania.

    Kiedy tryb dopasowania / dopasowanie_typu argument jest ustawiony na -1:

    • MATCH szuka dokładnego dopasowania lub następnego największego. Wymaga sortowania tablicy lookup w porządku malejącym.
    • XMATCH wyszukuje dokładne dopasowanie lub następne najmniejsze. Nie wymaga żadnego sortowania.

    Wyszukiwanie wieloznaczne

    Aby znaleźć częściowe dopasowanie za pomocą XMATCH, musisz ustawić tryb dopasowania argument do 2.

    Funkcja MATCH nie posiada specjalnej opcji trybu dopasowania wieloznacznego. W większości przypadków skonfigurujesz ją dla dopasowania dokładnego ( dopasowanie_typu ustawione na 0), co działa również w przypadku wyszukiwania wieloznacznego.

    Tryb wyszukiwania

    Podobnie jak nowa funkcja XLOOKUP, XMATCH posiada specjalną search_mode argument, który pozwala na zdefiniowanie kierunek poszukiwań :

    • 1 lub pominięte (domyślnie) - wyszukiwanie od pierwszego do ostatniego.
    • -1 - wyszukiwanie wsteczne last-to-first.

    I wybierz algorytm wyszukiwania binarnego , który jest bardzo szybki i wydajny na posortowane dane .

    • 2 - wyszukiwanie binarne na danych posortowanych rosnąco.
    • -2 - wyszukiwanie binarne na danych posortowanych malejąco.

    Wyszukiwanie binarne , zwany też wyszukiwanie w półokresie lub wyszukiwanie logarytmiczne Jest to specjalny algorytm, który znajduje pozycję wartości lookup w tablicy poprzez porównanie jej ze środkowym elementem tablicy. Wyszukiwanie binarne jest znacznie szybsze niż zwykłe wyszukiwanie, ale działa poprawnie tylko na posortowanych listach. Na nieposortowanych danych może zwrócić błędne wyniki, które na pierwszy rzut oka mogą wyglądać całkiem normalnie.

    Składnia MATCH w ogóle nie przewiduje argumentu trybu wyszukiwania.

    XMATCH obsługuje natywnie tablice

    W przeciwieństwie do swojego poprzednika, funkcja XMATCH została zaprojektowana dla dynamicznego Excela i obsługuje tablice natywnie, bez konieczności naciskania Ctrl + Shift + Enter . Dzięki temu formuły są znacznie łatwiejsze do budowania i edytowania, zwłaszcza gdy używasz kilku różnych funkcji razem. Wystarczy porównać następujące rozwiązania:

    • Formuła rozróżniająca wielkość liter: XMATCH
    • Porównaj dwie kolumny lub listy w poszukiwaniu dopasowań: XMATCH

    Dostępność XMATCH i MATCH

    XMATCH to nowa funkcja i jest dostępna tylko w Excelu dla Microsoft 365 i Excelu 2021.

    Funkcja MATCH jest dostępna w każdej wersji programu Excel 365 poprzez Excel 2007.

    Tak wygląda wykorzystanie funkcji XMATCH w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!

    Zeszyt ćwiczeń do pobrania

    Przykłady formuł XMATCH 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.