Formül örnekleriyle Excel XMATCH işlevi

  • Bunu Paylaş
Michael Brown

Bu eğitimde yeni Excel XMATCH işlevi tanıtılmakta ve birkaç yaygın görevi çözmek için MATCH işlevinden nasıl daha iyi olduğu gösterilmektedir.

Excel 365'te, MATCH işlevinin yerini almak üzere XMATCH işlevi eklenmiştir. Ancak mevcut formüllerinizi yükseltmeye başlamadan önce, yeni işlevin tüm avantajlarını ve eskisinden nasıl farklı olduğunu anlamak akıllıca olacaktır.

Özetle, XMATCH fonksiyonu MATCH ile aynıdır ancak daha esnek ve sağlamdır. Hem dikey hem de yatay dizilerde arama yapabilir, ilkten sona veya sondan başa arama yapabilir, tam, yaklaşık ve kısmi eşleşmeleri bulabilir ve daha hızlı bir ikili arama algoritması kullanabilir.

    Excel XMATCH işlevi

    Excel'deki XMATCH işlevi, bir dizideki veya hücre aralığındaki bir değerin göreli konumunu döndürür.

    Aşağıdaki sözdizimine sahiptir:

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

    Nerede?

    Lookup_value (gerekli) - aranacak değer.

    Lookup_array (gerekli) - aranacak hücre dizisi veya aralığı.

    Match_mode (isteğe bağlı) - hangi eşleşme türünün kullanılacağını belirtir:

    • 0 veya atlanmış (varsayılan) - tam eşleşme
    • -1 - tam eşleşme veya bir sonraki en küçük değer
    • 1 - tam eşleşme veya bir sonraki en büyük değer
    • 2 - joker karakter eşleşmesi (*, ?)

    Search_mode (isteğe bağlı) - arama yönünü ve algoritmasını belirtir:

    • 1 veya atlanmış (varsayılan) - ilkten sona doğru arama.
    • -1 - sondan başa doğru ters sırada arama yapar.
    • 2 - artan ikili arama. Gerekir lookup_array artan sırada sıralanacak.
    • -2 - azalan ikili arama. Gerekir lookup_array azalan sırada sıralanacak.

    İkili arama, sıralanmış dizilerde verimli bir şekilde çalışan daha hızlı bir algoritmadır. Daha fazla bilgi için lütfen Arama modu bölümüne bakın.

    Hangi Excel sürümünde XMATCH var?

    XMATCH işlevi yalnızca Microsoft 365 için Excel ve Excel 2021'de kullanılabilir. Excel 2019, Excel 2016 ve önceki sürümlerde bu işlev desteklenmez.

    Excel'de temel XMATCH formülü

    Fonksiyonun neler yapabileceği hakkında genel bir fikir edinmek için, en basit haliyle bir XMATCH formülü oluşturalım, sadece ilk iki gerekli argümanı tanımlayalım ve isteğe bağlı olanları varsayılanlarına bırakalım.

    Diyelim ki, büyüklüklerine göre sıralanmış bir okyanus listeniz var (C2:C6) ve belirli bir okyanusun sıralamasını bulmak istiyorsunuz. Bunu yapmak için okyanusun adını kullanmanız yeterlidir, örneğin Hintli 'yi arama değeri olarak ve tüm isim listesini arama dizisi olarak kullanır:

    =XMATCH("Indian", C2:C6)

    Formülü daha esnek hale getirmek için, ilgilenilen okyanusu bir hücreye, örneğin F1'e girin:

    =XMATCH(F1, C2:C6)

    Sonuç olarak, bir XMATCH formülü elde edersiniz. dikey dizi Çıktı, dizideki arama değerinin göreli konumudur ve bizim durumumuzda okyanusun sıralamasına karşılık gelir:

    Benzer bir formül, aşağıdakiler için de mükemmel çalışır yatay dizi yapmanız gereken tek şey lookup_array referans:

    =XMATCH(B5, B1:F1)

    Excel XMATCH işlevi - hatırlanması gerekenler

    XMATCH'i çalışma sayfalarınızda etkili bir şekilde kullanmak ve beklenmedik sonuçları önlemek için lütfen bu 3 basit gerçeği unutmayın:

    • Arama dizisinde arama değerinin iki veya daha fazla geçişi varsa, arama değerinin konumu İLK MAÇ ise döndürülür. search_mode argümanı 1 olarak ayarlanır veya atlanır. ile search_mode -1 olarak ayarlandığında, işlev ters sırada arama yapar ve son maç bu örnekte gösterildiği gibi.
    • Eğer arama değeri bulunamadı 'de bir #N/A hatası oluşur.
    • XMATCH işlevi şöyledir büyük/küçük harf duyarsız Küçük ve büyük harfleri ayırt etmek için bu büyük/küçük harfe duyarlı XMATCH formülünü kullanın.

    Excel'de XMATCH nasıl kullanılır - formül örnekleri

    Aşağıdaki örnekler XMATCH fonksiyonu ve pratik kullanımları hakkında daha fazla bilgi edinmenize yardımcı olacaktır.

    Tam eşleşme vs. yaklaşık eşleşme

    XMATCH'ın eşleştirme davranışı isteğe bağlı match_mode Tartışma:

    • 0 veya atlanmış (varsayılan) - formül yalnızca tam eşleşmeyi arar. Tam eşleşme bulunamazsa #N/A hatası döndürülür.
    • -1 - formül önce tam eşleşmeyi, ardından bir sonraki daha küçük öğeyi arar.
    • 1 - formül önce tam eşleşmeyi, ardından bir sonraki daha büyük öğeyi arar.

    Şimdi de farklı eşleştirme modlarının formülün sonucunu nasıl etkilediğini görelim. 80.000.000 km2 gibi belirli bir alanın tüm okyanuslar arasında nerede olduğunu bulmak istediğinizi varsayalım.

    Tam eşleşme

    için 0 kullanırsanız match_mode formül arama değerine tam olarak eşit bir değer bulamadığından #N/A hatası alırsınız:

    =XMATCH(80000000, C2:C6, 0)

    Sonraki en küçük öğe

    için -1 kullanırsanız match_mode formül 3 döndürür, çünkü arama değerinden daha küçük olan en yakın eşleşme 70.560.000'dir ve arama dizisindeki 3. öğedir:

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

    Sonraki en büyük ürün

    1 için kullanırsanız match_mode formülünün çıktısı 2 olacaktır, çünkü arama değerinden daha büyük olan en yakın eşleşme, arama dizisindeki 2. öğe olan 85.133.000'dir:

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

    Aşağıdaki resim tüm sonuçları göstermektedir:

    Excel'de kısmi metni joker karakterlerle eşleştirme

    XMATCH işlevinin joker karakterler için özel bir eşleşme modu vardır: match_mode argümanı 2 olarak ayarlanmıştır.

    Joker karakter eşleştirme modunda, bir XMATCH formülü aşağıdaki joker karakterleri kabul eder:

    • Herhangi bir tek karakterle eşleştirmek için soru işareti (?).
    • Herhangi bir karakter dizisiyle eşleştirmek için yıldız işareti (*).

    Lütfen joker karakterlerin sayılarla değil, yalnızca metinlerle çalıştığını unutmayın.

    Örneğin, "güney" ile başlayan ilk öğenin konumunu bulmak için formül şöyledir:

    =XMATCH("güney*", B2:B6, 2)

    Veya joker karakter ifadenizi bir hücreye, örneğin F1'e yazabilir ve lookup_value Tartışma:

    =XMATCH(F1, B2:B6, 2)

    Çoğu Excel işlevinde, yıldız işaretini (~*) veya soru işaretini (~?) joker karakter olarak değil, gerçek karakter olarak ele almak için tilde (~) kullanırsınız. XMATCH ile tilde gerekli değildir. Joker karakter eşleştirme modunu tanımlamazsanız, XMATCH ? ve * karakterlerinin normal karakterler olduğunu varsayacaktır.

    Örneğin, aşağıdaki formül A2:A7 aralığını tam olarak yıldız karakteri için arayacaktır:

    =XMATCH("*", A2:A7)

    Son eşleşmeyi bulmak için XMATCH ters arama

    Arama dizisinde arama değerinin birden fazla oluşumu olması durumunda, bazen arama değerinin konumunu almanız gerekebilir. son oluşum .

    Aramanın yönü XMATCH'ın 4. argümanı olarak kontrol edilir. search_mode Ters sırada, yani dikey bir dizide aşağıdan yukarıya ve yatay bir dizide sağdan sola doğru arama yapmak için, search_mode -1 olarak ayarlanmalıdır.

    Bu örnekte, belirli bir arama değeri için son kaydın konumunu döndüreceğiz (lütfen aşağıdaki ekran görüntüsüne bakın). Bunun için argümanları aşağıdaki gibi ayarlayın:

    • Lookup_value - H1'deki hedef satış elemanı
    • Lookup_array - C2:C10'daki satış elemanı adları
    • Match_mode 0 ise veya atlanmışsa (tam eşleşme)
    • Search_mode -1'dir (sondan başa doğru)

    Dört argümanı bir araya getirdiğimizde bu formülü elde ederiz:

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

    Laura tarafından yapılan son satışın numarasını döndürür:

    Eşleşme için Excel'de iki sütun nasıl karşılaştırılır

    İki listeyi eşleşme açısından karşılaştırmak için XMATCH işlevini IF ve ISNA ile birlikte kullanabilirsiniz:

    IF( ISNA( XMATCH( target_list , search_list , 0)), "Eşleşme yok", "Eşleşme")

    Örneğin, B2:B10'daki Liste 2'yi A2:A10'daki Liste 1 ile karşılaştırmak için formül aşağıdaki biçimi alır:

    =IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Liste 1'de Eşleşme")

    Bu örnekte, yalnızca eşleşmeleri belirliyoruz, bu nedenle value_if_true IF fonksiyonunun argümanı boş bir dizedir ("").

    Yukarıdaki formülü en üstteki hücreye (bizim durumumuzda C2) girin, Enter tuşuna basın ve formül otomatik olarak diğer hücrelere "yayılacaktır" (buna yayılma aralığı denir):

    Bu formül nasıl çalışır?

    Formülün merkezinde, XMATCH işlevi Liste 1 içinde Liste 2'den bir değer arar. Bir değer bulunursa, göreli konumu döndürülür, aksi takdirde #N/A hatası verilir. Bizim durumumuzda, XMATCH'in sonucu aşağıdaki dizidir:

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

    Bu dizi, #N/A hataları için kontrol edilmek üzere ISNA işlevine "beslenir." Her #N/A hatası için ISNA TRUE döndürür; diğer herhangi bir değer için - FALSE. Sonuç olarak, TRUE'lerin eşleşmeyenleri ve FALSE'lerin eşleşmeleri temsil ettiği aşağıdaki mantıksal değerler dizisini üretir:

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

    Yukarıdaki dizi, EĞER işlevinin mantıksal testine gider. Son iki bağımsız değişkeni nasıl yapılandırdığınıza bağlı olarak, formül ilgili metni çıkaracaktır. Bizim durumumuzda, eşleşmeyenler için boş bir dize ("") ( value_if_true ) ve eşleşmeler için "Liste 1'de Eşleş" ( value_if_false ).

    Not: Bu formül yalnızca dinamik dizileri destekleyen Excel 365 ve Excel 2021'de çalışır. Excel 2019, Excel 2016 veya önceki sürümleri kullanıyorsanız lütfen diğer çözümlere göz atın: Excel'de iki sütun nasıl karşılaştırılır.

    Excel'de INDEX XMATCH

    XMATCH, tıpkı INDEX MATCH formülünde olduğu gibi, arama değeriyle ilişkili başka bir sütundan bir değer almak için INDEX işleviyle birlikte kullanılabilir. Genel yaklaşım aşağıdaki gibidir:

    İNDEKS ( dönüş _ dizi , XMATCH ( lookup_value , lookup_array )

    Mantık çok basit ve takip etmesi kolay:

    XMATCH işlevi, arama değerinin arama dizisindeki göreli konumunu hesaplar ve bunu row_num INDEX işlevi, satır numarasına bağlı olarak belirttiğiniz herhangi bir sütundan bir değer döndürür.

    Örneğin, E1'de okyanusun alanını bulmak için bu formülü kullanabilirsiniz:

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

    INDEX XMATCH XMATCH 2 boyutlu arama gerçekleştirmek için

    Aynı anda sütunlarda ve satırlarda arama yapmak için, INDEX'i iki XMATCH işleviyle birlikte kullanın. İlk XMATCH satır numarasını, ikincisi ise sütun numarasını alacaktır:

    İNDEKS ( Veri , XMATCH ( lookup_value , dikey _ lookup_array ), XMATCH ( arama değeri , yatay _ lookup_array ))

    Formül, INDEX MATCH MATCH öğesine benzer ancak bu öğeyi atlayabilirsiniz match_mode varsayılan olarak tam eşleşme olduğundan argüman.

    Örneğin, belirli bir ayda (G2) belirli bir ürün (G1) için bir satış numarası almak için formül şöyledir:

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

    Burada B2:D8 satır ve sütun başlıkları hariç veri hücreleri, A2:A8 bir öğe listesi ve B1:D1 ay adlarıdır.

    Büyük/küçük harfe duyarlı XMATCH formülü

    Daha önce de belirtildiği gibi, Excel XMATCH işlevi tasarım gereği büyük/küçük harfe duyarsızdır. Metin büyük/küçük harf ayrımı yapmaya zorlamak için, XMATCH işlevini EXACT işleviyle birlikte kullanın:

    MATCH(TRUE, EXACT( lookup_array , lookup_value ))

    İçinde arama yapmak için ters sıra Sondan başa doğru:

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

    Aşağıdaki örnekte bu genel formül iş başında gösterilmektedir. B2:B11'de büyük/küçük harfe duyarlı ürün kimlikleri listeniz olduğunu varsayalım. E1'deki öğenin göreli konumunu bulmak istiyorsunuz. E2'de büyük/küçük harfe duyarlı bir formül şu kadar basittir:

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

    Bu formül nasıl çalışır?

    EXACT fonksiyonu, arama değerini arama dizisindeki her bir öğe ile karşılaştırır. Karşılaştırılan değerler, karakter durumları da dahil olmak üzere tam olarak eşitse, fonksiyon TRUE, aksi takdirde FALSE döndürür. Bu mantıksal değerler dizisi (TRUE'lerin tam eşleşmeleri temsil ettiği) lookup_array argümanını nasıl yapılandırdığınıza bağlı olarak, XMATCH fonksiyonu ilk bulunan tam eşleşmenin veya son tam eşleşmenin konumunu döndürür. search_mode Tartışma.

    Excel'de XMATCH vs. MATCH

    XMATCH, MATCH için daha güçlü ve çok yönlü bir yedek olarak tasarlanmıştır ve bu nedenle bu iki işlevin birçok ortak noktası vardır. Bununla birlikte, temel farklılıklar vardır.

    Farklı varsayılan davranış

    MATCH işlevi varsayılan olarak tam eşleşmeye veya bir sonraki en küçük öğeye ( match_type 1 olarak ayarlanır veya atlanır).

    XMATCH işlevi varsayılan olarak tam eşleşmeye ( match_mode 0 olarak ayarlanır veya atlanır).

    Yaklaşık eşleşme için farklı davranış

    Ne zaman match_mode / match_type argümanı 1 olarak ayarlanır:

    • MATCH tam eşleşme veya sonraki en küçük eşleşmeyi arar. Arama dizisinin artan sırada sıralanmasını gerektirir.
    • XMATCH tam eşleşme veya bir sonraki en büyük eşleşme için arama yapar. Herhangi bir sıralama gerektirmez.

    Ne zaman match_mode / match_type argümanı -1 olarak ayarlanır:

    • MATCH tam eşleşme veya bir sonraki en büyük eşleşmeyi arar. Arama dizisinin azalan sırada sıralanmasını gerektirir.
    • XMATCH tam eşleşme veya bir sonraki en küçük eşleşme için arama yapar. Herhangi bir sıralama gerektirmez.

    Joker karakter araması

    XMATCH ile kısmi eşleşmeleri bulmak için match_mode argümanı 2'ye.

    MATCH fonksiyonunun özel bir joker eşleşme modu seçeneği yoktur. Çoğu durumda, tam eşleşme için yapılandırırsınız ( match_type 0 olarak ayarlanır), bu aynı zamanda joker karakter aramaları için de çalışır.

    Arama modu

    Yeni XLOOKUP işlevi gibi, XMATCH işlevi de özel bir search_mode tanımlamanıza izin veren argüman arama yönü :

    • 1 veya atlanmış (varsayılan) - ilkten sona doğru arama.
    • -1 - sondan başa doğru ters arama.

    Ve bir tane seç ikili arama algoritması üzerinde çok hızlı ve verimli olan sıralanmış veriler .

    • 2 - artan şekilde sıralanmış veriler üzerinde ikili arama.
    • -2 - azalan şekilde sıralanmış veriler üzerinde ikili arama.

    İkili arama olarak da adlandırılır. yarım aralıklı arama veya logaritmik arama , bir dizideki arama değerinin konumunu, dizinin orta elemanıyla karşılaştırarak bulan özel bir algoritmadır. İkili arama, normal aramadan çok daha hızlıdır ancak yalnızca sıralanmış listelerde doğru çalışır. Sıralanmamış verilerde, ilk bakışta oldukça normal görünen yanlış sonuçlar döndürebilir.

    MATCH sözdizimi, arama modu bağımsız değişkenini hiç sağlamaz.

    XMATCH dizileri yerel olarak işler

    Selefinin aksine, XMATCH işlevi dinamik Excel için tasarlanmıştır ve Ctrl + Shift + Enter tuşlarına basmanıza gerek kalmadan dizileri yerel olarak işler. Bu, özellikle birkaç farklı işlevi birlikte kullanırken formül oluşturmayı ve düzenlemeyi çok daha kolay hale getirir. Aşağıdaki çözümleri karşılaştırmanız yeterlidir:

    • Büyük/küçük harfe duyarlı formül: XMATCH
    • Eşleşmeler için iki sütunu veya listeyi karşılaştırın: XMATCH

    XMATCH ve MATCH kullanılabilirliği

    XMATCH yeni bir işlevdir ve yalnızca Microsoft 365 için Excel ve Excel 2021'de kullanılabilir.

    MATCH işlevi Excel 365'ten Excel 2007'ye kadar tüm Excel sürümlerinde kullanılabilir.

    Excel'de XMATCH fonksiyonunun nasıl kullanılacağı bu şekilde açıklanmıştır. Okuduğunuz için teşekkür eder, gelecek hafta blogumuzda görüşmek dileğiyle!

    İndirmek için pratik çalışma kitabı

    Excel XMATCH formül örnekleri (.xlsx dosyası)

    Michael Brown, yazılım araçlarını kullanarak karmaşık süreçleri basitleştirme tutkusuna sahip, kendini adamış bir teknoloji meraklısıdır. Teknoloji endüstrisinde on yılı aşkın deneyimiyle Microsoft Excel ve Outlook'un yanı sıra Google E-Tablolar ve Dokümanlar'daki becerilerini geliştirdi. Michael'ın blogu, bilgisini ve uzmanlığını başkalarıyla paylaşmaya, üretkenliği ve verimliliği artırmaya yönelik takip etmesi kolay ipuçları ve eğitimler sağlamaya adamıştır. İster deneyimli bir profesyonel, ister yeni başlayan olun, Michael'ın blogu, bu temel yazılım araçlarından en iyi şekilde yararlanmak için değerli bilgiler ve pratik tavsiyeler sunar.