Birden Çok Kriterli Arama Değeri

Anonim

Tablodaki benzersiz bir anahtarla değer aramak kolaydır. DÜŞEYARA işlevini basitçe kullanabiliriz. Ancak verilerinizde o benzersiz sütun yoksa ve bir değeri eşleştirmek için birden çok sütunda arama yapmanız gerektiğinde, DÜŞEYARA yardımcı olmaz.

Bu nedenle, birden çok kritere sahip bir tabloda bir değer aramak için INDEX-MATCH-INDEX formülünü kullanacağız.

Çoklu Kriter Araması için Genel Formül

= İNDEKS(arama_aralığı,KAÇINCI(1, İNDEKS((ölçüt1 =aralık1)*(ölçüt2=aralık2)*(ölçüN=aralıkN),0,1),0))

arama_aralığı: Değer almak istediğiniz aralıktır.

Ölçüt1, Ölçüt2, Ölçüt N: Bunlar aralık1, aralık2 ve Aralık N'de eşleştirmek istediğiniz kriterlerdir. En fazla 270 kriteriniz olabilir - aralık çiftleri.

Aralık1, aralık2, aralıkN : Bunlar, ilgili kriterlerinize uygun olacağınız aralıklardır.

Nasıl çalışacak? Görelim…

Çoklu Kriter Örneği ile İNDEKS ve MAÇ

Burada bir veri tablom var. Rezervasyon Tarihi, Oluşturucu ve Alan kullanarak müşterinin adını çekmek istiyorum. Yani burada üç kriterim ve bir arama aralığım var.

Bu formülü I4 hücresine yazın enter tuşuna basın.

=INDEX(E2:E16,MATCH(1, INDEX((I1=A2:A16)*(I2=B2:B16)*(I3=C2:C16),0,1),0))


Nasıl çalışır:
EXCEL'de INDEX ve MATCH işlevinin nasıl çalıştığını zaten biliyoruz, bu yüzden bunu burada açıklamayacağım. Burada kullandığımız hileden bahsedeceğiz.

(I1=A2:A16)*(I2=B2:B16)*(I3=C2:C16): Ana kısım şudur. Bu ifadenin her parçası bir dizi true false döndürür.
Boole değerleri çarpıldığında 0 ve 1 dizisini döndürür. Çarpma VE operatörü olarak çalışır. Hense, tüm değerler yalnızca doğru olduğunda 1 başka 0 döndürür
(I1=A2:A16)*(I2=B2:B16)*(I3=C2:C16) Bu tamamen geri dönecek

{YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;DOĞRU;DOĞRU;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ}* {YANLIŞ;YANLIŞ;YANLIŞ;DOĞRU;TRUE;TRUE;TRUE;TRUE;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;DOĞRU}* {YANLIŞ;YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ;YANLIŞ;DOĞRU;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ;YANLIŞ} 

Hangisine çevirecek

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

İNDEKS((I1=A2:A16)*(I2=B2:B16)*(I3=C2:C16),0,1): INDEX İşlevi aynı diziyi döndürür ({0;0;0;0;0;0;0;1;0;0;0;0;0;0;0}) arama dizisi olarak KAÇINCI işlevine.

KİBRİT(1,İNDEKS((I1=A2:A16)*(I2=B2:B16)*(I3=C2:C16),0,1): KAÇINCI işlevi {0;0;0;0;0;0 dizisinde 1'i arar;0;1;0;0;0;0;0;0;0}. Ve dizide bulunan ilk 1 dizin numarasını döndürür. Burada 8 olan.

İNDEKS(E2:E16,KİBRİT(1,İNDEKS((I1=A2:A16)*(I2=B2:B16)*(I3=C2:C16),0,1),0)): Son olarak, INDEX bulunduğunda verilen aralıktan (E2:E16) değeri döndürür indeks (8).

Basit????. Üzgünüm, daha basit olamazdı.

Dizi Çözümü

Sonuç olarak CTRL + SHIFT + ENTER tuşlarına basabilirseniz, iç INDEX işlevini ortadan kaldırabilirsiniz. Bu formülü yazıp CTRL + SHIFT + ENTER tuşlarına basmanız yeterlidir.

=INDEX(E2:E16,KAÇINCI(1,(I1=A2:A16)*(I2=B2:B16)*(I3=C2:C16),0))

Çoklu Kriter Araması için Genel Dizi Formülü

=INDEX(arama_aralığı,KAÇINCI(1,(ölçüt1 =aralık1)*(ölçüt2=aralık2)*(ölçütN=aralıkN),0))

Formül, yukarıdaki açıklama ile aynı şekilde çalışır.

Elimden geldiğince basit anlatmaya çalıştım. Ancak yeterince açık değilsem, aşağıdaki yorum bölümünde bana bildirin. Bu arada, araba kullanmak için motorun nasıl çalıştığını bilmenize gerek yok. Sadece nasıl sürüleceğini bilmen gerekiyor. Ve sen bunu çok iyi biliyorsun.

Excel'de INDEX-MATCH Kullanarak Yinelenen Değerlere Sahip İlk 5 Değer Nasıl Aranır

Excel'de Birden Çok Değere DÜŞEYARA Nasıl Yapılır?

Excel'de Dinamik Sütun Dizini ile DÜŞEYARA nasıl yapılır

Excel'de İki veya Daha Fazla Arama Tablosundan DÜŞEYARA nasıl kullanılır?

Popüler Makaleler:

Verimliliğinizi Artıracak 50 Excel Kısayolu

Excel'de DÜŞEYARA İşlevi nasıl kullanılır?

Excel'de COUNTIF işlevi nasıl kullanılır?

Excel'de SUMIF İşlevi nasıl kullanılır?