Hoe gegevens te filteren vanuit een keuzelijstselectie in Excel?
In Excel filteren de meeste gebruikers gegevens door gebruik te maken van de Filterfunctie. Maar heb je ooit geprobeerd om gegevens te filteren vanuit een keuzelijstselectie? Bijvoorbeeld, wanneer ik een item selecteer uit de keuzelijst, wil ik dat de bijbehorende rijen worden gefilterd zoals in de volgende schermafbeelding wordt getoond. In dit artikel zal ik uitleggen hoe je gegevens kunt filteren met behulp van een keuzelijst in één of twee werkbladen.
Gegevens filteren vanuit een keuzelijstselectie in één werkblad met hulpformules
Gegevens filteren vanuit een keuzelijstselectie in twee werkbladen met VBA-code
Gegevens filteren vanuit een keuzelijstselectie in één werkblad met hulpformules
Om gegevens te filteren vanuit een keuzelijst, kun je enkele hulpformulekolommen maken. Volg de volgende stappen één voor één:
1. Voeg eerst de keuzelijst in. Klik op een cel waar je de keuzelijst wilt invoegen, klik dan op Gegevens > Gegevensvalidatie > Gegevensvalidatie, zie screenshot:
2. In het pop-upvenster Gegevensvalidatie dialoogvenster, onder het tabblad Opties selecteer Lijst van de Toestaan keuzelijst, en klik vervolgens op de knop om de gegevenslijst te kiezen waarop je de keuzelijst wilt baseren, zie screenshot:
3. Klik vervolgens op de knop OK, de keuzelijst wordt direct ingevoegd, en selecteer een item uit de keuzelijst, voer vervolgens deze formule in: =ROWS($A$2:A2) (A2 is de eerste cel binnen de kolom die de keuzelijstwaarde bevat) in cel D2, en sleep de vulgreep naar beneden om deze formule toe te passen, zie screenshot:
4. Voer vervolgens deze formule in: =IF(A2=$H$2,D2," ") in cel E2, en sleep de vulgreep naar beneden om deze formule in te vullen, zie screenshot:
Opmerking: In de bovenstaande formule: A2 is de eerste cel binnen de kolom die de keuzelijstwaarde bevat, H2 is de cel waar de keuzelijst staat, D2 is de eerste hulpkolomformule.
5. Typ vervolgens deze formule: =IFERROR(SMALL($E$2:$E$17,D2)," ") in cel F2, en sleep de vulgreep naar beneden om deze formule in te vullen, zie screenshot:
Opmerking: In de bovenstaande formule: E2:E17 zijn de cellen van de tweede hulpformule, D2 is de eerste cel in de eerste hulpformulekolom.
6. Nadat je de hulpformulekolommen hebt ingevoegd, moet je het gefilterde resultaat naar een andere locatie outputten. Pas deze formule toe: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2))," ") in cel J2, en sleep de vulgreep van J2 naar L2, en de eerste record van de gegevens op basis van de keuzelijst is geëxtraheerd, zie screenshot:
Opmerking: In de bovenstaande formule: A2:C17 zijn de originele gegevens die je wilt filteren, F2 is de derde hulpformulekolom, J2 is de cel waar je het filterresultaat wilt weergeven.
7. Sleep vervolgens de vulgreep naar beneden om alle overeenkomstige gefilterde records weer te geven, zie screenshot:
8. Vanaf nu, wanneer je een item selecteert uit de keuzelijst, worden alle rijen op basis van deze selectie onmiddellijk gefilterd, zie screenshot:

Supercharge Excel Keuzelijsten met verbeterde functies van Kutools
Verhoog uw productiviteit met de verbeterde keuzelijstfuncties van Kutools voor Excel. Deze set functies gaat verder dan de basisfunctionaliteiten van Excel om uw workflow te stroomlijnen, inclusief:
- Multi-select Keuzelijst: Selecteer meerdere items tegelijkertijd voor efficiënte gegevensverwerking.
- Keuzelijst met selectievakjes: Verbeter gebruikersinteractie en duidelijkheid binnen uw spreadsheets.
- Dynamische Keuzelijst: Werkt automatisch bij op basis van gegevenswijzigingen, zodat nauwkeurigheid wordt gegarandeerd.
- Doorzoekbare Keuzelijst: Zoek snel de benodigde items, wat tijd bespaart en problemen reduceert.
Gegevens filteren vanuit een keuzelijstselectie in twee werkbladen met VBA-code
Als uw keuzelijstcel zich in Werkblad1 bevindt en de gefilterde gegevens in Werkblad2, wanneer u een item selecteert uit de keuzelijst, wordt een ander werkblad gefilterd. Hoe zou u deze taak in Excel kunnen afronden?
De volgende VBA-code kan u helpen, doe als volgt:
1. Klik met de rechtermuisknop op het werkbladtabblad dat de keuzelijstcel bevat, en kies Weergave Code uit het contextmenu. Kopieer en plak de volgende code in het lege modulevenster van Microsoft Visual Basic for Applications:
VBA-code: Gegevens filteren vanuit een keuzelijstselectie in twee werkbladen:
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
Opmerking: In de bovenstaande code: A2 is de cel die de keuzelijst bevat, en Werkblad2 is het werkblad dat de gegevens bevat die u wilt filteren. Het nummer 1 in het script: AutoFilter 1 is het kolomnummer waarop u wilt filteren. U kunt ze naar behoefte aanpassen.
2. Vanaf nu, wanneer u een item selecteert uit de keuzelijst in Werkblad1, worden de bijbehorende gegevens gefilterd in Werkblad2, zie screenshot:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!