Excel'de hücre değerine göre satırları otomatik olarak nasıl filtreleyebilirim?
Excel'de, standart Filtre işlevi, manuel olarak seçtiğiniz kriterlere göre verileri hızlı bir şekilde filtrelemenizi sağlar. Ancak, bazı iş akışlarında belirli bir hücreye bir değer veya koşul girdiğiniz anda verilerinizin otomatik olarak yenilenmesini isteyebilirsiniz. Örneğin, başka bir hücreye girdiğiniz bir anahtar kelime veya parametreye göre veri setinin anında filtrelenmesini istiyorsanız, bu Excel'in yerel filtreleme yeteneklerinin ötesinde bir durumdur. Bu tür dinamik veya “otomatik filtreleme”, filtre koşullarını doğrudan hücre değerlerine bağlayarak veri inceleme sürecinizi hızlandırabilir, manuel filtreleme için harcanan süreyi azaltabilir ve doğruluğu artırabilir. Böyle bir hücre girişi temelli otomatik filtreleme mekanizmasını uygulamaya çalışıyorsanız, bu sonucu elde etmek için çeşitli pratik çözümler bulunmaktadır.
Excel formül çözümü ile hücre değerine göre satırları otomatik olarak filtreleme
Girdiğiniz hücre değerine göre satırları VBA kodu ile otomatik olarak filtreleme
Excel formül çözümü ile hücre değerine göre satırları otomatik olarak filtreleme
Makro kullanmayı tercih etmiyorsanız veya güvenlik ayarları veya işbirliği endişeleri nedeniyle VBA kullanmaktan kaçınmanız gerekiyorsa, formüllerin ve Excel'e entegre edilmiş filtreleme özelliklerinin bir kombinasyonunu kullanarak bir "otomatik filtre" etkisi oluşturabilirsiniz. Bu çözüm, FILTER
gibi dinamik dizi işlevlerini destekleyen Microsoft 365, Microsoft 2019 ve sonraki sürümler için iyi çalışır. Özellikle makrolar etkin olmayan meslektaşlarınızla paylaşmak veya yüklemesiz otomasyon gerektiren hafif şablonlar için uygundur.
1. Filtrelenmiş sonuçların başlamasını istediğiniz boş bir hücreyi seçin (örneğin, imlecinizi G2 hücresine yerleştirin).
=FILTER(A2:C20, (A2:A20=E1) * (B2:B20=E2), "No match")
2. Formülü G2'ye girdikten sonra Enter tuşuna basın. Filtrelenmiş veri seti, G2 hücresinden başlayan bir döküm aralığında görünecektir. E1 veya E2'deki değerleri değiştirdikçe, filtrelenmiş liste anında yenilenir.
Bu formül örneği, ana verilerinizin A2:C20 aralığında olduğunu ve filtre kriterlerinin E1 (A sütunuyla eşleşen) ve E2 (B sütunuyla eşleşen) hücrelerine girildiğini varsayar. Yalnızca bir sütuna göre filtrelemek istiyorsanız, mantıksal koşulu buna göre basitleştirebilirsiniz. Hiçbir satır girilen kriterlere uymuyorsa "Eşleşme yok" mesajı görüntülenir.
İpucu: FILTER fonksiyonu, Microsoft 360 ve bazı Microsoft 19+ sürümlerinde mevcuttur. Daha eski Excel sürümleri için formüller aracılığıyla dinamik filtreleme daha karmaşıktır ve yardımcı sütunlarla geleneksel Otomatik Filtre veya gelişmiş filtre özelliklerini keşfetmek isteyebilirsiniz. Uyumluluğu sağlamak için sürümünüzü kontrol edin.
Bu çözümü kullandığınızda, sonuçlar çalışma sayfanızda yeni bir alana yerleşir, bu da ham verilerinizi korumanıza yardımcı olur. Ancak, orijinal veri seti etkilenmez — filtreler yalnızca gösterilen sonuçlara uygulanır, kaynak veri görüntüleme durumuna değil.
Olası hatalar: #AD? veya #DÖKÜM! hatası görüyorsanız, uyumlu bir Excel sürümü kullandığınızı ve sonuç aralığında birleştirilmiş hücre bulunmadığını kontrol edin. Ayrıca, formül döküm alanına başka veriler yerleştirmemeye özen gösterin.
Girdiğiniz hücre değerine göre satırları VBA kodu ile otomatik olarak filtreleme
Belirli hücrelere yazdığınız kriterlere göre kayıtları otomatik olarak filtrelemek istediğinizi varsayalım. Örneğin, E1 ve E2 hücrelerine istediğiniz koşulları girdiğinizde, çalışma sayfasındaki veriler bu değerlere göre otomatik olarak filtrelenir, aşağıda gösterildiği gibi:
Bu şekilde filtrelemeyi otomatikleştirmek için basit bir VBA çözümü kurabilirsiniz. Bu yöntem, atanan filtre hücrelerindeki değeri her güncellediğinizde tetiklenir. Özellikle panolar, etkileşimli raporlar veya kullanıcıların merkezi parametre hücrelerinden dinamik filtreleme beklediği şablonlar için faydalıdır.
1. Hücrelere girilen girişlere göre satırları otomatik olarak filtrelemek istediğiniz çalışma sayfasına gidin.
2. Excel penceresinin altındaki sayfa sekmesine sağ tıklayın ve açılır menüden Kodu Görüntüle'yi seçin. Görünen Microsoft Visual Basic for Applications penceresinde aşağıdaki VBA kodunu büyük boş alana (genellikle kod penceresi veya çalışma sayfası modülü olarak adlandırılır) yapıştırın, burada gösterildiği gibi:
VBA Kodu: Girilen hücre değerine göre verileri otomatik olarak filtreleme
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160606
If Target.Address = Range("E2").Address Then
Range("A1:C20").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2")
End If
End Sub
Not: Bu VBA kodunda, A1:C20 filtreyi uygulamak istediğiniz veri aralığına atıfta bulunur. E2, filtre değerini (hedef kriterlerinizi) girdiğiniz hücredir ve E1:E2 filtre koşulları olarak kullanılan hücrelerdir. Bu aralıkları ihtiyaçlarınıza göre değiştirebilirsiniz — veri ve filtre kriterlerinizin konumunu doğru bir şekilde yansıttıklarından emin olun. Ayrıca, birleştirilmiş hücrelerden kaçının ve doğru filtreleme için veri aralığınızın başlıkları içerdiğinden emin olun.
3. Şimdi E1 ve/veya E2 hücrelerine filtre koşullarınızı girin veya değiştirin. Enter tuşuna bastığınızda VBA kodu otomatik olarak çalışır ve yalnızca girdiğiniz kriterlere uyan satırları göstermek için belirlenen veri aralığını filtreler.
Değer girdikten sonra filtre hemen çalışmıyorsa, çalışma kitabınızda makro işlevselliğinin etkin olduğundan emin olun ve VBA kodundaki aralıkların mevcut çalışma sayfası düzeninize uygun olduğundan emin olun. Çoklu kullanıcı senaryolarında, diğerlerine bu özelliğin düzgün çalışması için makroların etkinleştirilmesi gerektiğini hatırlatın.
Bu VBA yöntemi, özellikle dinamik parametre odaklı panolar, veri girişi için etkileşimli şablonlar veya manuel filtre kriterlerinin yeniden uygulanmasının verimsiz olduğu herhangi bir senaryo için avantajlıdır. Ancak, kullanıcılar makroları devre dışı bırakırsa sorunlar yaşayabilirler ve VBA tabanlı çözümler kodun eklendiği dosyaya özgüdür.
Senaryonuz, farklı Excel güvenlik ayarlarına sahip olan birden fazla kullanıcı tarafından sık sık kriter değişikliklerini gerektiriyorsa veya dosyanızı yaygın olarak paylaşmayı planlıyorsanız, alternatif formül tabanlı çözümleri veya Excel eklentilerini göz önünde bulundurmak isteyebilirsiniz.
Demo: VBA kodu ile girdiğiniz hücre değerine göre satırları otomatik olarak filtreleme
Birden fazla kritere veya metin uzunluğuna, büyük/küçük harf duyarlılığına göre gibi diğer özel koşullara göre verileri filtreleme Birkaç filtre kriterini birleştirme, hücredeki karakter sayısına göre filtreleme, büyük/küçük harfe duyarlı filtreleme veya belirli dönemlere göre filtreleme gibi daha gelişmiş filtreleme işlemleri gerçekleştirmeniz gerektiğinde, Excel'in yerleşik filtreleri yetersiz kalabilir. Bu gibi durumlarda, Kutools for Excel'in Süper Filtre özelliği, karmaşık filtre gereksinimlerini kolay ve etkili bir şekilde yönetmenize yardımcı olan pratik bir yöntem sunar. Bu özellik size şunları sağlar:
Kutools for Excel: 300'den fazla pratik Excel eklentisi ile tamamen işlevsel 30 günlük ücretsiz deneme sürümü. Şimdi indirin ve ücretsiz deneyin! |
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin, daha önce hiç yaşamadığınız bir verimlilik deneyimini yaşayın. Kutools for Excel, üretkenliğinizi artıracak ve zamanı kaydetmenizi sağlayacak300’den fazla gelişmiş özellik sunar. En çok ihtiyaç duyduğunuz özelliği almak için buraya tıklayın...
Office Tab, Office’e sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint’te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Aynı pencere içerisinde yeni sekmelerde birden fazla belge açın veya oluşturun, yeni pencerelerde açmak yerine.
- Verimliliğinizi %50 artırın, her gün yüzlerce fare tıklamasını sizin için azaltın!