Excel'de hücre değerine göre satırları nasıl otomatik filtreleyebilirim?
Excel’de, standart Filtre işlevi, manuel olarak seçtiğiniz kriterlere göre veriyi 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 kümenizin anında filtrelenmesini istiyorsanız, bu Excel’in yerel filtreleme yeteneklerinin ötesinde bir işlemdir. Bu tür dinamik veya “otomatik filtre” mekanizması, filtreleme 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şine dayalı otomatik filtreleme mekanizmasını uygulamak istiyorsanız, bu sonucu elde etmek için birkaç pratik çözüm bulunmaktadır.
Excel formül çözümü ile hücre değerine göre satırları otomatik filtreleme
Girdiğiniz hücre değerine göre VBA kodu ile satırları otomatik filtreleme
Excel formül çözümü ile hücre değerine göre satırları otomatik filtreleme
Eğer makro kullanmayı tercih etmiyorsanız veya güvenlik ayarları ya da işbirliği endişeleri nedeniyle VBA kullanmaktan kaçınmanız gerekiyorsa, Excel’e entegre formüller ve filtreleme özellikleri kombinasyonu ile bir "otomatik filtre" etkisi oluşturabilirsiniz. Bu çözüm, FILTER
gibi dinamik dizi fonksiyonlarını destekleyen Microsoft 365, Microsoft 2019 ve daha yeni sürümler için iyi çalışır. Özellikle makroların etkinleştirilmediği 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ülme 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şme) ve E2 (B sütunuyla eşleşme) hücrelerine girildiğini varsayar. Eğer yalnızca bir sütuna göre filtrelemek istiyorsanız, mantıksal koşulu buna göre basitleştirebilirsiniz. Girilen kriterlere uygun hiçbir satır olmadığında "Eşleşme yok" mesajı görüntülenir.
İpucu: FILTER fonksiyonu Microsoft 365 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 AutoFilter 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 alanda yer alır, bu da ham verilerinizi korumanıza yardımcı olur. Ancak, orijinal veri seti etkilenmez — filtreler yalnızca görüntülenen sonuçlara uygulanır, kaynak veri gösterim durumuna değil.
Olası hatalar: #AD? veya #DÖKÜM! hatası görüyorsanız, uyumlu bir Excel sürümünü kullandığınızdan ve sonuç aralığında birleştirilmiş hücrelerin olmadığından emin olun. Ayrıca, engellenmeleri önlemek için formül döküm alanında başka veri yerleştirmekten kaçının.
Girdiğiniz hücre değeri ile VBA kodu ile satırları otomatik filtreleme
Diyelim ki bir veri seti üzerinde çalışıyorsunuz ve belirli hücrelere yazdığınız kriterlere göre kayıtları otomatik olarak filtrelemek istiyorsunuz. Örneğin, E1 ve E2 hücrelerine istediğiniz koşulları girdiğinizde, çalışma sayfasındaki veriler bu değerlere otomatik olarak filtrelenir, aşağıdaki gibi gösterilir:
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 kısmındaki sayfa sekmesine sağ tıklayın ve açılır menüden Kodu Görüntüle'yi seçin. Açılan 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) burada gösterildiği gibi yapıştırın:
VBA kodu: Girilen hücre değerine göre veriyi otomatik 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 filtrenin uygulanacağı veri aralığını ifade eder. 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 — bu aralıkların, özel çalışma sayfası yapınıza göre veri ve filtre kriterlerinizin konumunu doğru bir şekilde yansıttığından emin olun. Ayrıca, birleştirilmiş hücrelerden kaçınmak ve doğru filtreleme için veri aralığının başlıkları içerdiğinden emin olmak en iyisidir.
3. Şimdi, E1 ve/veya E2 hücresine 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.
Eğer bir 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 geçerli çalışma sayfası düzeninize uygun olduğundan kontrol edin. Ç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 olacağı 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, sık sık kriter değişiklikleri gerektiren ve farklı Excel güvenlik ayarlarına sahip olan çoklu kullanıcılar içermesi durumunda 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 filtreleme
Birden fazla kritere veya metin uzunluğu, büyük/küçük harf duyarlılığı gibi diğer belirli koşullara göre veriyi filtreleme. Metin uzunluğuna, büyük/küçük harf duyarlılığına veya belirli dönemlere göre filtreleme gibi çeşitli filtre kriterlerini birleştirme veya 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 verimli bir şekilde yönetmeniz için pratik bir yol sunar. Bu özellik size şu şekilde yardımcı olur:
Kutools for Excel: 300'den fazla pratik Excel eklentisi ile tam işlevli 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 geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!