FİLTRE Formülü (FILTER): Koşula Uyan Satırları Listeleme
FİLTRE
İngilizce adı: FILTER
Yayın: · Son güncelleme:
FİLTRE kısaca
FİLTRE, bir aralıktan koşulunuza uyan bütün satırları tek formülle çeker ve sonucu komşu hücrelere taşırır. Kaynak veri değiştikçe liste kendiliğinden güncellenir. Microsoft 365 ve Excel 2021 ile gelen dinamik dizi fonksiyonlarındandır.
Söz dizimi
FİLTRE(dizi; ekle; [boşsa])FILTER(array, include, [if_empty])Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
Argümanlar
| Argüman | Durum | Açıklama |
|---|---|---|
diziarray | Zorunlu | Filtrelenecek aralık ya da dizi. Birden çok sütun seçilirse satırların tamamı döner. |
ekleinclude | Zorunlu | Dizi ile aynı yükseklikte (ya da genişlikte) DOĞRU/YANLIŞ dizisi üreten koşul, ör. B2:B7="Satış". Birden çok koşul * (ve) ya da + (veya) ile birleştirilir. |
boşsaif_empty | İsteğe bağlı | Koşula uyan satır yoksa gösterilecek değer. Boş bırakılırsa ve sonuç yoksa hata döner. |
İçindekiler
FİLTRE ne işe yarar?
Excel FİLTRE formülü, bir tablodan koşulunuza uyan satırların tamamını alır ve yeni bir alana liste olarak yazar. Satış bölümündeki çalışanları, 85 puanın üstündeki öğrencileri ya da teslim tarihi geçmiş siparişleri bu yolla ayrı bir listede görürsünüz. Veri sekmesindeki Filtre düğmesinden farkı, sonucun bir formül olması ve kaynak değiştikçe güncellenmesidir.
Fonksiyon yalnız Microsoft 365, Excel 2021 ve sonraki sürümlerde, web ve Mac sürümlerinde bulunur. Excel 2019 ya da daha eski bir sürümde açılan dosyada formül #AD? hatası verir.
Söz dizimi: dizi, koşul ve boş sonuç
dizi, listede görmek istediğiniz aralıktır; yalnız ad sütununu ya da bütün tabloyu seçebilirsiniz. ekle koşuldur ve dizi ile aynı yükseklikte olmalıdır: A2:A7 için koşul B2:B7 ya da C2:C7 üzerinde kurulur. =FİLTRE(A2:A7;B2:B7="Satış") satış bölümündeki adları listeler.
Üçüncü argüman boşsa, hiçbir satır koşula uymadığında gösterilecek değerdir. Bunu boş bıraktığınızda ve sonuç çıkmadığında #CALC! hatası alırsınız. Raporlarda "Kayıt yok" gibi bir metin yazmak okuyan kişiye neyin olduğunu açıkça söyler.
Taşan sonuç nasıl okunur?
FİLTRE tek bir hücreye yazılır, ama sonuç birden çok hücreyi kaplar. Formülü E2'ye yazdığınızda ilk sonuç E2'de, diğerleri altındaki hücrelerde görünür. Bu sayfadaki örneklerde gösterilen sonuç değeri, taşan listenin sol üst hücresidir.
Taşma alanında dolu bir hücre varsa formül #TAŞMA! hatası verir. Hücreyi boşalttığınızda liste yeniden görünür. Taşan aralığa başka bir formülden başvurmak için hücre adresinin sonuna # eklersiniz: =BAĞ_DEĞ_DOLU_SAY(E2#) listedeki ad sayısını verir.
Birden çok koşul: ve, veya
İki koşulun birlikte sağlanması gerekiyorsa koşulları parantez içinde yazıp çarparsınız. =FİLTRE(A2:A7;(B2:B7="Satış")*(C2:C7>70)) satış bölümünde olup puanı 70'in üstündeki çalışanları getirir. Çarpma, iki DOĞRU'nun birlikte 1 vermesi mantığıyla "ve" işlevi görür.
Koşullardan birinin yetmesi için toplama kullanılır. (B2:B7="Satış")+(B2:B7="Muhasebe") iki bölümün çalışanlarını birlikte seçer. Burada VE ile YADA fonksiyonları işe yaramaz, çünkü bunlar dizinin tamamı için tek bir sonuç üretir.
Sık karşılaşılan hatalar
#DEĞER! hatası çoğunlukla dizi ile koşul aralığının farklı boyutta olmasından kaynaklanır. A2:A7 ile B2:B8 birlikte kullanılamaz. #TAŞMA! taşma alanı dolu olduğunda, #CALC! ise sonuç boşken ve boşsa yazılmamışken görülür.
Sonucu bir Excel tablosunun içine yazmaya çalışmak da #TAŞMA! verir; dinamik diziler tablo içinde taşamaz. Listeyi tablonun dışına, yanında yeterli boş alan olan bir yere yazın.
FİLTRE'yi diğer fonksiyonlarla birleştirmek
FİLTRE'nin çıktısı başka bir dinamik dizi fonksiyonuna verilebilir. SIRALA ile sarmak listeyi puana göre dizer; BENZERSİZ ile sarmak tekrar eden değerleri ayıklar. Tek bir değer arıyorsanız ÇAPRAZARA daha uygundur, çünkü yalnız ilk eşleşmeyi getirir.
Kendi tablonuzda bir bölüm ya da kategori için FİLTRE yazın ve boşsa argümanına bir mesaj ekleyin. Ardından kaynak tabloya yeni bir satır girip listenin kendiliğinden uzadığını kontrol edin.
Örnekler
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ad | Bölüm | Puan | ||
| 2 | Ece | Satış | 72 | Ece | |
| 3 | Can | Muhasebe | 88 | ||
| 4 | Selin | Satış | 91 | ||
| 5 | Deniz | Lojistik | 64 | ||
| 6 | Murat | Satış | 58 | ||
| 7 | Zeynep | Muhasebe | 95 |
=FİLTRE(A2:A7;B2:B7="Satış")=FILTER(A2:A7,B2:B7="Satış")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: Ece
Satış bölümünde Ece, Selin ve Murat var. Liste E2'den aşağı taşar; sol üst hücre olan E2'de Ece görünür.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ad | Bölüm | Puan | ||
| 2 | Ece | Satış | 72 | Can | |
| 3 | Can | Muhasebe | 88 | ||
| 4 | Selin | Satış | 91 | ||
| 5 | Deniz | Lojistik | 64 | ||
| 6 | Murat | Satış | 58 | ||
| 7 | Zeynep | Muhasebe | 95 |
=FİLTRE(A2:C7;C2:C7>=85)=FILTER(A2:C7,C2:C7>=85)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: Can
Can (88), Selin (91) ve Zeynep (95) koşula uyar. Sonuç üç sütun ve üç satır olarak taşar; sol üst hücrede Can yazar.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ad | Bölüm | Puan | ||
| 2 | Ece | Satış | 72 | Ece | |
| 3 | Can | Muhasebe | 88 | ||
| 4 | Selin | Satış | 91 | ||
| 5 | Deniz | Lojistik | 64 | ||
| 6 | Murat | Satış | 58 | ||
| 7 | Zeynep | Muhasebe | 95 |
=FİLTRE(A2:A7;(B2:B7="Satış")*(C2:C7>70))=FILTER(A2:A7,(B2:B7="Satış")*(C2:C7>70))Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: Ece
Satış bölümünde olup puanı 70'in üstünde olanlar Ece (72) ve Selin'dir (91). Murat'ın puanı 58 olduğu için listeye girmez.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ad | Bölüm | Puan | ||
| 2 | Ece | Satış | 72 | Kayıt yok | |
| 3 | Can | Muhasebe | 88 | ||
| 4 | Selin | Satış | 91 | ||
| 5 | Deniz | Lojistik | 64 | ||
| 6 | Murat | Satış | 58 | ||
| 7 | Zeynep | Muhasebe | 95 |
=FİLTRE(A2:A7;C2:C7>100;"Kayıt yok")=FILTER(A2:A7,C2:C7>100,"Kayıt yok")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: Kayıt yok
Hiçbir puan 100'ü aşmadığı için koşula uyan satır yok. Üçüncü argüman sayesinde hata yerine Kayıt yok yazar.
Yaygın hatalar ve çözümleri
- #TAŞMA!
Neden: Sonucun taşacağı hücrelerden biri dolu ya da formül bir Excel tablosunun içine yazılmış.
Çözüm: Taşma alanını boşaltın ya da formülü tablonun dışına taşıyın.
#TAŞMA! hatasının ayrıntılı çözümü → - #DEĞER!
Neden: Koşul aralığı ile dizi farklı yükseklikte.
Çözüm: İki aralığı aynı satırdan başlatıp aynı satırda bitirin.
#DEĞER! hatasının ayrıntılı çözümü → - #AD?
Neden: Dosya FİLTRE'yi tanımayan Excel 2019 ya da daha eski bir sürümde açıldı.
Çözüm: Eski sürümlerde Veri sekmesindeki Filtre ya da Gelişmiş Filtre özelliğini kullanın.
#AD? hatasının ayrıntılı çözümü →
İlgili fonksiyonlar
FİLTRE kullanan rehberler ve alıştırmalar
Sıkça Sorulan Sorular
FİLTRE formülü nasıl kullanılır?
Görmek istediğiniz aralığı ve koşulu yazarsınız: =FİLTRE(A2:A7;B2:B7="Satış"). Formülü tek hücreye girersiniz, sonuç alttaki hücrelere taşar.
FİLTRE ile birden çok koşul nasıl yazılır?
Ve için koşulları parantez içinde çarpın: (B2:B7="Satış")*(C2:C7>70). Veya için toplayın: (B2:B7="Satış")+(B2:B7="Muhasebe").
FİLTRE neden #TAŞMA! hatası veriyor?
Sonucun yayılacağı hücrelerden en az biri dolu. Formülün altındaki ve yanındaki hücreleri boşaltın; formül bir Excel tablosunun içindeyse dışarı taşıyın.
FİLTRE Excel 2019'da çalışır mı?
Hayır. Microsoft 365, Excel 2021 ve sonraki sürümlerde bulunur. Eski sürümde dosya açılınca formül #AD? hatası verir.