Comment extraire toutes les correspondances partielles dans Excel ?
Si vous souhaitez extraire toutes les correspondances contenant un mot clé spécifique d'une colonne et les répertorier dans une colonne ou dans une cellule séparées par un délimiteur comme illustré ci-dessous, comment pourriez-vous résoudre cette tâche dans Excel ?
Extraire toutes les correspondances partielles verticalement avec la formule
Extraire toutes les correspondances partielles verticalement avec la formule
Pour extraire verticalement toutes les correspondances dans une colonne basée sur un texte partiel, la formule matricielle suivante peut vous rendre service :
Step1: Veuillez copier et coller la formule ci-dessous dans une cellule vide où vous souhaitez mettre le résultat :
Notes: Dans la formule ci-dessus, A2: A14 si les cellules peuvent contenir le mot clé à partir duquel vous souhaitez renvoyer des correspondances, C2 contient le mot clé, E1 est la cellule au-dessus de la formule.
Step2: Puis appuyez Ctrl + Maj + Entrée simultanément pour obtenir le premier résultat, puis faites glisser la poignée de recopie vers le bas pour obtenir toutes les correspondances jusqu'à ce que la valeur d'erreur apparaisse. Enfin, supprimez les valeurs d'erreur, voir capture d'écran :
Extraire toutes les correspondances partielles dans une seule cellule avec la fonction définie par l'utilisateur
Si vous avez besoin d'extraire toutes les correspondances dans une seule cellule et séparées par un délimiteur spécifique, peut-être qu'aucune formule ne peut le résoudre. Ici, vous devez appliquer la fonction définie par l'utilisateur ci-dessous :
Step1: Presse Alt + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
Step2: Dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis copiez le code suivant dans le module.
Code VBA : Extraire toutes les correspondances partielles dans une seule cellule
Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function
Step3: Après avoir collé le code, veuillez retourner à la feuille de calcul où vous souhaitez localiser le résultat, puis entrez cette formule : =ExtractPartMatch(C2,$A$2:$A$14), puis appuyez sur Entrer clé pour obtenir le résultat comme ci-dessous la capture d'écran montrée:
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!