Excel formülü: Çok kriterli arama ve devrik -

İçindekiler

Genel formül

(=INDEX(rng1,MATCH(1,($A1=rng2)*(B$1=rng3),0)))

Özet

Çok kriterli bir arama yapmak ve sonuçları bir tabloya dönüştürmek için, INDEX ve MATCH'a dayalı bir dizi formülü kullanabilirsiniz. Gösterilen örnekte, G5'teki formül şöyledir:

(=INDEX(amount,MATCH(1,($F5=location)*(G$4=date),0)))

Bu formülün bir dizi formülü olduğunu ve control + shift + enter ile girilmesi gerektiğini unutmayın.

Bu formül ayrıca üç adlandırılmış aralık kullanır: konum = B5: B13, miktar = D5: D13, tarih = C5: C13

Açıklama

Bu formülün özü, "miktar" adlı aralıktan (B5: B13) bir değer alan INDEX'tir:

=INDEX(amount,row_num)

satır_sayısı, MATCH işlevi ve bazı boole mantığı ile işlenir:

MATCH(1,($F5=location)*(G$4=date),0)

Bu kod parçacığında, F5'teki konum tüm konumlarla karşılaştırılır ve G4'teki tarih tüm tarihlerle karşılaştırılır. Her durumda sonuç, DOĞRU ve YANLIŞ değerler dizisidir. Bu diziler birlikte çarpıldığında, matematik işlemi DOĞRU ve YANLIŞ değerlerini bir ve sıfırlara zorlar, böylece MATCH'a giden arama dizisi şöyle görünür:

(1;0;0;0;0;0;0;0;0)

KAÇINCI, tam eşleşme olarak 1 ile eşleşecek şekilde ayarlanmıştır ve konumu bir satır numarası olarak INDEX'e döndürür. 1 sayısı arama değeri için işe yarar çünkü dizi, yukarıda gösterildiği gibi artık yalnızca 1'leri ve 0'ları içerir.

F5 ve G4, formülün değişiklik yapılmadan tablo üzerinden kopyalanabilmesi için karışık referanslar olarak girilir.

Özel macun ile transpoze edin

Bir tabloyu bir kez transpoze etmeniz gerekiyorsa, özel yapıştır'ı kullanabileceğinizi unutmayın.

Ilginç makaleler...