Excel'de açılır liste seçimiyle veri nasıl filtrelenir?
Excel'de çoğu kişi veriyi Filtreleme özelliği kullanarak filtreler. Peki, açılır liste seçiminden veri filtrelemeyi denediniz mi? Örneğin, açılır listeden bir öğe seçtiğimde, ilgili satırların aşağıdaki ekran görüntüsünde gösterildiği gibi filtreleneceğini istiyorum. Bu makalede, bir veya iki çalışma sayfasında açılır liste kullanarak veri filtreleme konusunu ele alacağım.
Yardımcı formüllerle tek bir çalışma sayfasında açılır liste seçiminden veri filtreleme
VBA kodu ile iki çalışma sayfasında açılır liste seçiminden veri filtreleme
Yardımcı formüllerle tek bir çalışma sayfasında açılır liste seçiminden veri filtreleme
Açılır listeden veri filtrelemek için bazı yardımcı formül sütunları oluşturabilirsiniz, lütfen aşağıdaki adımları sırasıyla uygulayın:
1. İlk olarak, açılır listeyi ekleyin. Açılır listeyi eklemek istediğiniz hücreye tıklayın, ardından Veri > Veri Doğrulaması > Veri Doğrulaması'na tıklayın, bkz. ekran görüntüsü:
2. Açılan Veri Doğrulaması diyalog kutusunda, Seçenekler sekmesinde, Tek Boyutlu Tablo seçeneklerinden İzin Ver açılır menüsünden seçin ve ardından düğmesine tıklayarak açılır listenin oluşturulmasını istediğiniz veri listesini seçin, bkz. ekran görüntüsü:
3. Ardından Tamam düğmesine tıklayın, açılır liste hemen eklenecek ve açılır listeden bir öğe seçin, ardından şu formülü girin: =ROWS($A$2:A2) (A2, açılır liste değerini içeren sütunun ilk hücresidir) D2 hücresine ve ardından bu formülü uygulamak için dolgu tutamacını aşağıya doğru sürükleyin, bkz. ekran görüntüsü:
4. Devam ederek şu formülü girin: =IF(A2=$H$2,D2,"") E2 hücresine ve ardından bu formülü doldurmak için dolgu tutamacını aşağıya doğru sürükleyin, bkz. ekran görüntüsü:
Not: Yukarıdaki formülde: A2, açılır liste değerini içeren sütunun ilk hücresidir, H2, açılır listenin yerleştirildiği hücredir, D2 ise ilk yardımcı sütun formülüdür.
5. Ve ardından şu formülü yazın: =IFERROR(SMALL($E$2:$E$17,D2),"") F2 hücresine ve ardından bu formülü doldurmak için dolgu tutamacını aşağıya doğru sürükleyin, bkz. ekran görüntüsü:
Not: Yukarıdaki formülde: E2:E17 ikinci yardımcı formül hücreleridir, D2 ise ilk yardımcı formül sütununun ilk hücresidir.
6. Yardımcı formül sütunlarını ekledikten sonra, filtrelenmiş sonucu başka bir yere çıkarmalısınız, lütfen şu formülü uygulayın: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") J2 hücresine ve ardından dolgu tutamacını J2'den L2'ye sürükleyin ve açılır liste temelindeki verilerin ilk kaydı çıkarılmış olacak, bkz. ekran görüntüsü:
Not: Yukarıdaki formülde: A2:C17 filtrelemek istediğiniz orijinal verilerdir, F2 üçüncü yardımcı formül sütunudur, J2 ise filtre sonucunu çıkarmak istediğiniz hücredir.
7. Ve ardından tüm karşılık gelen filtrelenmiş kayıtları görüntülemek için dolgu tutamacını aşağıya doğru sürüklemeye devam edin, bkz. ekran görüntüsü:
8. Şimdi itibaren, açılır listeden bir öğe seçtiğinizde, bu seçime dayalı tüm satırlar hemen filtrelenir, bkz. ekran görüntüsü:

Kutools İleri Özellikleriyle Excel Açılır Listelerini Güçlendirin
Kutools for Excel'in gelişmiş açılır liste özellikleriyle üretkenliğinizi artırın. Bu özellik seti, temel Excel işlevlerinin ötesine geçerek iş akışınızı optimize etmenizi sağlar:
- Çoklu Seçimli Açılır Liste: Verimli veri yönetimi için birden fazla girişi aynı anda seçin.
- Onay Kutulu Açılır Liste: Elektronik tablolarınızdaki kullanıcı etkileşimini ve netliği artırın.
- Dinamik Açılır Liste: Veri değişikliklerine göre otomatik olarak güncellenir, doğruluğu sağlar.
- Aranabilir Açılır Liste: Gerekli girişleri hızlıca bulun, zaman kazanın ve uğraşı azaltın.
VBA kodu ile iki çalışma sayfasında açılır liste seçiminden veri filtreleme
Açılır liste hücresi Sheet1'de ve filtrelenen veriler Sheet2'de ise, açılır listeden bir öğe seçildiğinde diğer çalışma sayfası filtrelenir. Bu işi Excel'de nasıl yapabilirsiniz?
Aşağıdaki VBA kodu size yardımcı olabilir, lütfen bunu şu şekilde yapın:
1. Açılır liste hücresini içeren sayfa sekmesine sağ tıklayın ve ardından bağlam menüsünden Kodu Görüntüle'yi seçin, açılan Microsoft Visual Basic for Applications penceresinde aşağıdaki kodu boş Modül'e kopyalayıp yapıştırın:
VBA kodu: İki sayfada açılır liste seçiminden veri filtreleme:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Not Intersect(Range("A2"), Target) Is Nothing Then
Application.EnableEvents = False
If Range("A2").Value = "" Then
Worksheets("Sheet2").ShowAllData
Else
Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
End If
Application.EnableEvents = True
End If
End Sub
Not: Yukarıdaki kodda: A2, açılır listeyi içeren hücredir ve Sheet2, filtrelemek istediğiniz verileri içeren çalışma sayfasıdır. Komutta bulunan 1 sayısı: AutoFilter 1, filtrelemenin dayandığı sütun numarasıdır. Bunları ihtiyaçlarınıza göre değiştirebilirsiniz.
2. Şimdi itibaren, Sheet1'deki açılır listeden bir öğe seçtiğinizde ve karşılık gelen veriler Sheet2'de filtrelenir, bkz. ekran görüntüsü:
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!