Excel formülü: FİLTRE sütunları kaldırmak için -

Genel formül

=FILTER(data,(header="a")+(header="b"))

Özet

Sütunları filtrelemek için, dahil etme bağımsız değişkeni için yatay bir dizi sağlayın. Gösterilen örnekte, I5'teki formül şöyledir:

=FILTER(B5:G12,(B4:G4="a")+(B4:G4="c")+(B4:G4="e"))

Sonuç, kaynak verilerden yalnızca A, C ve E sütunlarını içeren filtrelenmiş bir veri kümesidir.

Açıklama

FILTER daha yaygın olarak satırları filtrelemek için kullanılsa da, sütunları da filtreleyebilirsiniz, püf noktası, kaynak verilerle aynı sayıda sütuna sahip bir dizi sağlamaktır. Bu örnekte, ihtiyacımız olan diziyi Boole cebri olarak da adlandırılan boole mantığıyla oluşturuyoruz.

Boole cebirinde çarpma, AND mantığına karşılık gelir ve toplama, OR mantığına karşılık gelir. Gösterilen örnekte, yalnızca A, C ve E sütunlarını şu şekilde hedeflemek için OR mantığıyla (toplama) Boole cebri kullanıyoruz:

(B4:G4="a")+(B4:G4="c")+(B4:G4="e")

Her ifade değerlendirildikten sonra, üç DOĞRU / YANLIŞ değer dizisi elde ederiz:

(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,TRUE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)

Matematik işlemi (toplama) DOĞRU ve YANLIŞ değerlerini 1'lere ve 0'lara dönüştürür, böylece işlemi şu şekilde düşünebilirsiniz:

(1,0,0,0,0,0)+ (0,0,1,0,0,0)+ (0,0,0,0,1,0)

Sonunda, 1'ler ve 0'lardan oluşan tek bir yatay dizimiz var:

(1,0,1,0,1,0)

içerme bağımsız değişkeni olarak doğrudan FİLTRE işlevine gönderilir:

=FILTER(B5:G12,(1,0,1,0,1,0))

Kaynak verilerde 6 sütun ve dizide 6 değer olduğuna dikkat edin. Hepsi 1 ya da 0'dır. FİLTRE bu diziyi kaynak verilerden yalnızca 1, 3 ve 5 sütunlarını dahil etmek için filtre olarak kullanır. Sütunlar 2, 4 ve 6 kaldırılır. Başka bir deyişle, hayatta kalan tek sütun 1'ler ile ilişkilidir.

MATCH işlevi ile

Yukarıda gösterildiği gibi toplama ile OR mantığını uygulamak iyi çalışır, ancak iyi ölçeklenmez ve bir çalışma sayfasından bir dizi değerin ölçüt olarak kullanılmasını imkansız hale getirir. Alternatif olarak, içerme bağımsız değişkenini daha verimli bir şekilde oluşturmak için KAÇINCI işlevini ISNUMBER işleviyle birlikte şu şekilde kullanabilirsiniz:

=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,("a","c","e"),0)))

MATCH işlevi, gösterildiği gibi dizi sabitindeki ("a", "c", "e") tüm sütun başlıklarını arayacak şekilde yapılandırılır. MATCH sonucunun, 6 sütun içeren kaynak verilerle uyumlu boyutlara sahip olması için bunu bu şekilde yapıyoruz. MATCH'taki üçüncü bağımsız değişkenin tam bir eşleşmeyi zorlamak için sıfır olarak ayarlandığına da dikkat edin.

MATCH çalıştırıldıktan sonra aşağıdaki gibi bir dizi döndürür:

(1,#N/A,2,#N/A,3,#N/A)

Bu dizi doğrudan ISNUMBER'a gider ve başka bir dizi döndürür:

(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)

Yukarıdaki gibi, bu dizi yataydır ve virgülle ayrılmış 6 değer içerir. FİLTRE diziyi 2, 4 ve 6. sütunları kaldırmak için kullanır.

Bir aralık ile

Sütun başlıkları zaten I4: K4 aralığındaki çalışma sayfasında olduğundan, yukarıdaki formül, aralığı doğrudan şu şekilde kullanmak için kolayca uyarlanabilir:

=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,I4:K4,0)))

I4: K4 aralığı ("a", "c", "e") olarak değerlendirilir ve yukarıdaki formüldeki dizi sabiti gibi davranır.

Ilginç makaleler...