Excel formülü: Birden çok VEYA ölçütü olan FİLTRE -

İçindekiler

Özet

Birden çok VEYA koşuluna sahip verileri ayıklamak için FİLTRE işlevini MATCH işleviyle birlikte kullanabilirsiniz. Gösterilen örnekte, F9'daki formül şöyledir:

=FILTER(B5:D16, ISNUMBER(MATCH(items,F5:F6,0))* ISNUMBER(MATCH(colors,G5:G6,0))* ISNUMBER(MATCH(cities,H5:H6,0)))

burada öğeler (B3: B16), renkler (C3: C16) ve şehirler (D3: D16) adlandırılmış aralıklardır.

Bu formül, öğenin (tişört VEYA kapüşonlu) VE rengin (kırmızı VEYA mavi) VE şehrin (denver OR seattle) olduğu verileri döndürür.

Açıklama

Bu örnekte, kriterler F5: H6 aralığına girilir. Formülün mantığı şudur:

öğe (tişört VEYA kapşonlu) VE renk (kırmızı VEYA mavi) VE şehir (denver OR seattle)

Bu formülün filtreleme mantığı (dahil etme bağımsız değişkeni), bir dizi işleminde uygulanan boole mantığı ile birlikte ISNUMBER ve MATCH işlevleriyle uygulanır.

MATCH, verilerden gelen arama değerleri ve arama dizisi için kullanılan kriterlerle "geriye doğru" yapılandırılır. Örneğin, ilk koşul, öğelerin Tişört veya Kapüşonlu olması gerektiğidir. Bu koşulu uygulamak için MATCH şu şekilde ayarlanır:

MATCH(items,F5:F6,0) // check for tshirt or hoodie

Veride 12 değer olduğu için, sonuç şöyle 12 değerli bir dizidir:

(1;#N/A;#N/A;2;#N/A;2;2;#N/A;1;#N/A;2;1)

Bu dizi ya #YOK hataları (eşleşme yok) ya da sayılar (eşleşme) içeriyor. Uyarı numaraları Tişört veya Kapüşonlu ürünlere karşılık gelir. Bu diziyi DOĞRU ve YANLIŞ değerlerine dönüştürmek için, KAÇINCI işlevi ISNUMBER işlevine sarılır:

ISNUMBER(MATCH(items,F5:F6,0))

bunun gibi bir dizi verir:

(TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE)

Bu dizide, TRUE değerleri tişörte veya kapüşonlu sweatshirt'e karşılık gelir.

Tam formül, FİLTRE işlevinin içerme bağımsız değişkeni için kullanılan yukarıdakine benzer üç ifade içerir:

ISNUMBER(MATCH(items,F5:F6,0))* // tshirt or hoodie ISNUMBER(MATCH(colors,G5:G6,0))* // red or blue ISNUMBER(MATCH(cities,H5:H6,0))) // denver or seattle

MATCH ve ISNUMBER değerlendirildikten sonra, TRUE ve FALSE değerleri içeren üç dizimiz var. Bu dizileri çarpmanın matematik işlemi, DOĞRU ve YANLIŞ değerlerini 1s ve 0'lara zorlar, böylece dizileri bu noktada şu şekilde görselleştirebiliriz:

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

Boole aritmetiğinin kurallarına göre sonuç, tek bir dizidir:

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

bu, FILTER işlevinde içerme bağımsız değişkeni haline gelir:

=FILTER(B5:D16,(1;0;0;0;0;1;0;0;0;0;0;1))

Nihai sonuç, F9: H11'de gösterilen üç veri satırıdır.

Sabit kodlanmış değerlerle

Örnekteki formül doğrudan çalışma sayfasına girilen ölçütleri kullansa da, ölçütler bunun yerine dizi sabitleri olarak sabit kodlanabilir:

=FILTER(B5:D16, ISNUMBER(MATCH(items,("Tshirt";"Hoodie"),0))* ISNUMBER(MATCH(colors,("Red";"Blue"),0))* ISNUMBER(MATCH(cities,("Denver";"Seattle"),0)))

Ilginç makaleler...