İki boyutlu arama için Excel'de DİZİN MATCH MATCH

  • Bunu Paylaş
Michael Brown

Bu eğitimde Excel'de iki boyutlu arama yapmak için birkaç farklı formül gösterilmektedir. Alternatiflere göz atın ve favorinizi seçin :)

Excel elektronik tablolarınızda bir şey ararken, çoğu zaman sütunlarda dikey olarak veya satırlarda yatay olarak ararsınız. Ancak bazen hem satırlara hem de sütunlara bakmanız gerekir. Başka bir deyişle, belirli bir satır ve sütunun kesiştiği noktada bir değer bulmayı hedeflersiniz. Buna matris arama (diğer adıyla 2 boyutlu veya 2 yönlü arama ) ve bu eğitimde bunun 4 farklı şekilde nasıl yapılacağı gösterilmektedir.

    Excel INDEX MATCH EŞLEŞTİRME formülü

    Excel'de iki yönlü arama yapmanın en popüler yolu INDEX MATCH MATCH kullanmaktır. Bu, hem satır hem de sütun numaralarını almak için bir MATCH işlevi daha eklediğiniz klasik INDEX MATCH formülünün bir varyasyonudur:

    İNDEKS ( data_array , MATCH ( vlookup_value , lookup_column_range , 0), MATCH ( hlookup değeri , lookup_row_range , 0))

    Örnek olarak, aşağıdaki tablodan belirli bir yılda belirli bir hayvanın nüfusunu çekmek için bir formül yapalım. Başlangıç olarak, tüm argümanları tanımlayalım:

    • Data_array - B2:E4 (veri hücreleri, satır ve sütun başlıkları dahil değil)
    • Vlookup_value - H1 (hedef hayvan)
    • Lookup_column_range - A2:A4 (satır başlıkları: hayvan adları) - A3:A4
    • Hlookup_value - H2 (hedef yıl)
    • Lookup_row_range - B1:E1 (sütun başlıkları: yıllar)

    Tüm argümanları bir araya getirdiğinizde iki yönlü arama için bu formülü elde edersiniz:

    =INDEX(B2:E4, MATCH(H1, A2:A4, 0), MATCH(H2, B1:E1, 0))

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

    İlk bakışta biraz karmaşık görünse de, formülün mantığı gerçekten basit ve anlaşılması kolaydır. INDEX işlevi, satır ve sütun numaralarına göre veri dizisinden bir değer alır ve iki MATCH işlevi bu numaraları sağlar:

    INDEX(B2:E4, satır_sayısı, sütun_sayısı)

    Burada, MATCH(lookup_value, lookup_array, [match_type]) özelliğinden yararlanarak bir göreli konum . lookup_value içinde lookup_array .

    Bu nedenle, satır numarasını almak için satır başlıkları (A2:A4) boyunca ilgilenilen hayvanı (H1) ararız:

    MATCH(H1, A2:A4, 0)

    Sütun numarasını almak için sütun başlıkları (B1:E1) arasında hedef yılı (H2) ararız:

    MATCH(H2, B1:E1, 0)

    Her iki durumda da, 3. bağımsız değişkeni 0 olarak ayarlayarak tam eşleşme ararız.

    Bu örnekte, vlookup değerimiz (Kutup ayısı) A2:A4'teki 2. hücre olan A3'te bulunduğu için ilk MATCH 2 döndürür. hlookup değeri (2000) B1:E1'deki 3. hücre olan D1'de bulunduğu için ikinci MATCH 3 döndürür.

    Yukarıdakiler göz önüne alındığında, formül şu şekle dönüşür:

    INDEX(B2:E4, 2, 3)

    Ve B2:E4 veri dizisindeki 2. satır ile 3. sütunun kesişiminde bir değer döndürür; bu değer D3 hücresindeki bir değerdir.

    DÜŞEYARA ve 2 yönlü arama için MATCH formülü

    Excel'de iki boyutlu arama yapmanın bir başka yolu da DÜŞEYARA ve MATCH işlevlerinin bir kombinasyonunu kullanmaktır:

    VLOOKUP( vlookup_value , table_array , MATCH( hlookup_value , lookup_row_range , 0), FALSE)

    Örnek tablomuz için formül aşağıdaki şekli alır:

    =VLOOKUP(H1, A2:E4, MATCH(H2, A1:E1, 0), FALSE)

    Nerede?

    • Table_array - A2:E4 (satır başlıkları dahil veri hücreleri)
    • Vlookup_value - H1 (hedef hayvan)
    • Hlookup_value - H2 (hedef yıl)
    • Lookup_row_range - A1:E1 (sütun başlıkları: yıllar)

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

    Formülün özü, tablo dizisinin (A2:E4) ilk sütununda arama değerini (H1) arayan ve aynı satırdaki başka bir sütundan bir değer döndüren tam eşleşme için yapılandırılmış (son bağımsız değişken FALSE olarak ayarlanmıştır) DÜŞEYARA işlevidir. Hangi sütundan değer döndürüleceğini belirlemek için, yine tam eşleşme için yapılandırılmış MATCH işlevini kullanırsınız (son bağımsız değişken 0 olarak ayarlanmıştır):

    MATCH(H2, A1:E1, 0)

    MATCH, sütun başlıkları (A1:E1) boyunca H2'deki değeri arar ve bulunan hücrenin göreli konumunu döndürür. Bizim durumumuzda, hedef yıl (2010), arama dizisinde 5. sırada olan E1'de bulunur. Bu nedenle, 5 sayısı col_index_num VLOOKUP argümanı:

    VLOOKUP(H1, A2:E4, 5, FALSE)

    DÜŞEYARA buradan alır, A2'deki arama değeri için tam bir eşleşme bulur ve aynı satırdaki 5. sütundan, yani E2 hücresinden bir değer döndürür.

    Önemli not! Formülün doğru çalışması için, table_array DÜŞEYARA'nın (A2:E4) ve lookup_array 'nin MATCH (A1:E1) ile aynı sayıda sütuna sahip olması gerekir, aksi takdirde MATCH tarafından col_index_num yanlış olacaktır (sütunun table_array ).

    Satır ve sütunlara bakmak için XLOOKUP işlevi

    Yakın zamanda Microsoft, Excel'de DÜŞEYARA, DÜŞEYARA ve DİZİN EŞLEŞTİRME gibi mevcut tüm arama işlevlerinin yerini alması amaçlanan bir işlev daha tanıttı. Diğer şeylerin yanı sıra, DÜŞEYARA belirli bir satır ve sütunun kesişimine bakabilir:

    XLOOKUP( vlookup_value , vlookup_column_range , XLOOKUP( hlookup_value , hlookup_row_range , data_array ))

    Örnek veri setimiz için formül aşağıdaki gibidir:

    =XLOOKUP(H1, A2:A4, XLOOKUP(H2, B1:E1, B2:E4))

    Not: Şu anda XLOOKUP bir beta işlevidir ve yalnızca Office Insiders programının bir parçası olan Office 365 aboneleri tarafından kullanılabilir.

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

    Formül, bir satırın veya sütunun tamamını döndürmek için DÜŞEYARA özelliğini kullanır. İç işlev, başlık satırında hedef yılı arar ve o yıl için tüm değerleri döndürür (bu örnekte, 1980 yılı için). return_array dış XLOOKUP argümanı:

    XLOOKUP(H1, A2:A4, {22000;25000;700}))

    Dış XLOOKUP işlevi, sütun başlıkları arasında hedef hayvanı arar ve return_array'den aynı konumdaki değeri döndürür.

    İki yönlü arama için SUMPRODUCT formülü

    SUMPRODUCT işlevi Excel'deki bir İsviçre bıçağı gibidir - özellikle birden fazla kriteri değerlendirmek söz konusu olduğunda, belirlenmiş amacının ötesinde pek çok şey yapabilir.

    Satırlarda ve sütunlarda iki ölçüt aramak için bu genel formülü kullanın:

    SUMPRODUCT( vlookup_column_range = vlookup_value ) * ( hlookup_row_range = hlookup_value ), data_array )

    Veri setimizde 2 yönlü bir arama gerçekleştirmek için formül aşağıdaki gibidir:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2), B2:E4)

    Aşağıdaki sözdizimi de işe yarayacaktır:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2) * B2:E4)

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

    Formülün merkezinde, iki arama değerini satır ve sütun başlıklarıyla karşılaştırıyoruz (H1'deki hedef hayvan A2:A4'teki tüm hayvan adlarıyla ve H2'deki hedef yıl B1:E1'deki tüm yıllarla):

    (A2:A4=H1) * (B1:E1=H2)

    Bu, TRUE'lerin eşleşmeleri temsil ettiği TRUE ve FALSE değerlerinden oluşan 2 diziyle sonuçlanır:

    {FALSE;FALSE;TRUE} * {FALSE,TRUE,FALSE,FALSE}

    Çarpma işlemi TRUE ve FALSE değerlerini 1'lere ve 0'lara zorlar ve 4 sütun ve 3 satırdan oluşan iki boyutlu bir dizi üretir (satırlar noktalı virgülle ve her veri sütunu virgülle ayrılır):

    {0,0,0,0;0,0,0,0;0,1,0,0}

    SUMPRODUCT işlevleri, yukarıdaki dizinin öğelerini B2:E4'ün aynı konumlardaki öğeleriyle çarpar:

    {0,0,0,0;0,0,0,0;0,1,0,0} * {22000,13800,8500,3500;25000,23000,22000,20000;700,2000,2300,2500}

    Sıfırla çarpmak sıfır verdiğinden, yalnızca ilk dizideki 1'e karşılık gelen öğe hayatta kalır:

    SUMPRODUCT({0,0,0,0;0,0,0,0;0,2000,0,0})

    Son olarak, SUMPRODUCT elde edilen dizinin öğelerini toplar ve 2000 değerini döndürür.

    Not: Tablonuzda aynı ada sahip birden fazla satır ve/veya sütun başlığı varsa, son dizi sıfır dışında birden fazla sayı içerecek ve tüm bu sayılar toplanacaktır. Sonuç olarak, her iki ölçütü de karşılayan değerlerin bir toplamını elde edersiniz. SUMPRODUCT formülünü, bulunan ilk eşleşmeyi döndüren INDEX MATCH MATCH ve VLOOKUP formüllerinden farklı kılan da budur.

    Adlandırılmış aralıklarla matris arama (explicit Intersection)

    Excel'de matris araması yapmanın şaşırtıcı derecede basit bir yolu da adlandırılmış aralıkları kullanmaktır:

    Bölüm 1: Sütunları ve satırları adlandırın

    Tablonuzdaki her satırı ve her sütunu adlandırmanın en hızlı yolu şudur:

    1. Tüm tabloyu seçin (bizim durumumuzda A1:E4).
    2. Üzerinde Formüller sekmesinde Tanımlanmış İsimler grubunu seçin, tıklayın Seçimden Oluştur veya Ctrl + Shift + F3 kısayoluna basın.
    3. İçinde Seçimden İsim Oluşturma iletişim kutusunu seçin, ardından Üst sıra ve Sol sütun, ve Tamam'a tıklayın.

    Bu, satır ve sütun başlıklarına göre otomatik olarak adlar oluşturur. Ancak, birkaç uyarı vardır:

    • Sütun ve/veya satır başlıklarınız sayılardan oluşuyorsa veya Excel adlarında izin verilmeyen belirli karakterler içeriyorsa, bu sütun ve satırların adları oluşturulmayacaktır. Oluşturulan adların listesini görmek için Ad Yöneticisi'ni açın ( Ctrl + F3 ). Bazı adlar eksikse, Excel'de bir aralık nasıl adlandırılır bölümünde açıklandığı gibi bunları manuel olarak tanımlayın.
    • Satır veya sütun başlıklarınızdan bazıları boşluk içeriyorsa, boşluklar örneğin alt çizgi ile değiştirilecektir, Polar_bear .

    Örnek tablomuz için Excel yalnızca satır adlarını otomatik olarak oluşturdu. Sütun başlıkları sayı olduğu için sütun adlarının manuel olarak oluşturulması gerekir. Bunun üstesinden gelmek için sayıların önüne alt çizgi koyabilirsiniz, örneğin _1990 .

    Sonuç olarak, aşağıdaki adlandırılmış aralıklara sahip oluruz:

    Bölüm 2: Bir matris arama formülü oluşturun

    Belirli bir satır ve sütunun kesişimindeki bir değeri çekmek için, boş bir hücreye aşağıdaki genel formüllerden birini yazmanız yeterlidir:

    = row_name sütun_adı

    Ya da tam tersi:

    = sütun_adı row_name

    Örneğin, 1990 yılındaki mavi balina nüfusunu elde etmek için formül şu kadar basittir:

    =Blue_whale _1990

    Daha ayrıntılı talimatlara ihtiyaç duyan biri varsa, aşağıdaki adımlar süreç boyunca size yol gösterecektir:

    1. Sonucun görünmesini istediğiniz bir hücreye eşitlik işaretini (=) yazın.
    2. Hedef satırın adını yazmaya başlayın, örneğin, Blue_whale Birkaç karakter yazdıktan sonra Excel, girdinizle eşleşen tüm mevcut adları görüntüler. İstediğiniz adı formülünüze girmek için çift tıklayın:
    3. Satır adından sonra bir uzay olarak çalışan kesişim operatörü Bu durumda.
    4. Hedef sütun adını girin ( _1990 bizim durumumuzda).
    5. Hem satır hem de sütun adları girilir girilmez, Excel tablonuzdaki ilgili satır ve sütunu vurgular ve formülü tamamlamak için Enter tuşuna basarsınız:

    Matris aramanız tamamlanmıştır ve aşağıdaki ekran görüntüsü sonucu göstermektedir:

    Excel'de satır ve sütunlarda nasıl arama yapılacağı bu şekilde açıklanmıştır. Okuduğunuz için teşekkür eder, gelecek hafta blogumuzda görüşmek dileğiyle!

    Mevcut indirmeler

    2 boyutlu arama örnek çalışma kitabı

    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.