Comment filtrer les données de la sélection de liste déroulante dans Excel?
Dans Excel, la plupart d'entre nous peuvent filtrer les données à l'aide de la fonction Filtrer. Mais avez-vous déjà essayé de filtrer les données de la sélection de la liste déroulante? Par exemple, lorsque je sélectionne un élément dans la liste déroulante, je souhaite que ses lignes correspondantes soient filtrées comme illustré ci-dessous. Cet article, je vais parler de la façon de filtrer les données en utilisant la liste déroulante dans une ou deux feuilles de calcul.
Filtrer les données de la sélection de liste déroulante dans une feuille de calcul avec des formules d'aide
Pour filtrer les données de la liste déroulante, vous pouvez créer des colonnes de formules d'aide, veuillez suivre les étapes suivantes une par une:
1. Tout d'abord, insérez la liste déroulante. Cliquez sur une cellule dans laquelle vous souhaitez insérer la liste déroulante, puis cliquez sur Données > Validation des données > Validation des données, voir capture d'écran:
2. Dans le sauté Validation des données boîte de dialogue, sous la Paramètres onglet, sélectionnez Liste du Autoriser dérouler, puis cliquez sur bouton pour choisir la liste de données sur laquelle vous souhaitez créer la liste déroulante, voir capture d'écran:
3. Et puis cliquez OK bouton, la liste déroulante est insérée à la fois, et choisissez un élément dans la liste déroulante, puis entrez cette formule: = RANGÉES ($ A $ 2: A2) (A2 est la première cellule de la colonne qui contient la valeur de la liste déroulante) dans la cellule D2, puis faites glisser la poignée de remplissage vers les cellules pour appliquer cette formule, voir capture d'écran:
4. Continuez à saisir cette formule: = SI (A2 = $ H $ 2, D2, "") dans la cellule E2, puis faites glisser la poignée de remplissage vers le bas pour remplir cette formule, voir capture d'écran:
Notes: Dans la formule ci-dessus :A2 est la première cellule de la colonne qui contient la valeur de la liste déroulante ,H2 est la cellule où la liste déroulante est placée, D2 est la première formule de colonne d'aide.
5. Et puis tapez cette formule: = IFERREUR (PETIT ($ E $ 2: $ E $ 17, D2), "") dans la cellule F2, puis faites glisser la poignée de remplissage vers les cellules pour remplir cette formule, voir capture d'écran:
Notes: Dans la formule ci-dessus: E2: E17 est la deuxième cellule de formule auxiliaire, D2 est la première cellule de la première colonne de formules d'aide.
6. Après avoir inséré les colonnes de formule d'aide, vous devez alors sortir le résultat filtré dans un autre emplacement, veuillez appliquer cette formule: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") dans la cellule J2, puis faites glisser la poignée de remplissage de J2 à L2, et le premier enregistrement des données basé sur la liste déroulante a été extrait, voir capture d'écran:
Notes: Dans la formule ci-dessus: A2: C17 correspond aux données d'origine que vous souhaitez filtrer, F2 est la troisième colonne de formule d'aide, J2 est la cellule dans laquelle vous souhaitez afficher le résultat du filtre.
7. Et puis continuez à faire glisser la poignée de remplissage vers les cellules pour afficher tous les enregistrements filtrés correspondants, voir capture d'écran:
8. A partir de maintenant, lorsque vous sélectionnez un élément dans la liste déroulante, toutes les lignes basées sur cette sélection sont filtrées en même temps, voir capture d'écran:
Filtrer les données de la sélection de la liste déroulante dans deux feuilles de calcul avec le code VBA
Si votre cellule de liste déroulante dans Sheet1 et les données filtrées dans Sheet2, lors du choix d'un élément dans la liste déroulante, une autre feuille sera filtrée. Comment pourriez-vous terminer ce travail dans Excel?
Le code VBA suivant peut vous rendre service, procédez comme suit:
1. Cliquez avec le bouton droit de la souris sur l'onglet de la feuille qui contient la cellule de la liste déroulante, puis choisissez Voir le code depuis le menu contextuel, dans le Microsoft Visual Basic pour les applications fenêtre, copiez et collez le code suivant dans le module vide:
Code VBA: filtrez les données de la sélection de la liste déroulante dans deux feuilles:
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
Notes: Dans le code ci-dessus: A2 est la cellule qui contient la liste déroulante, et Sheet2 est la feuille de calcul contient les données que vous souhaitez filtrer. Le nombre 1 dans le script: Filtre automatique 1 est le numéro de colonne sur lequel vous souhaitez filtrer. Vous pouvez les modifier selon vos besoins.
2. À partir de maintenant, lorsque vous sélectionnez un élément dans la liste déroulante de Sheet1, et que les données correspondantes seront filtrées dans Sheet2, voir capture d'écran:
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!