Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Assembler les termes trouvés
Grâce à la fonction Filtre une fois encore, mais pas toute seule, nous allons voir comment identifier les termes cherchés dans des chaînes pour les réunir en regard de ces dernières.
Le tableau de la capture présente des phrases contenant certains mots clés. Ici, il s'agit de couleurs en l'occurrence. Sur la droite de ce tableau, une liste des mots clés à trouver est dressée. Sur cette base, en deuxième colonne du tableau, une formule de filtre identifie, extrait et réunit ces termes clés repérés dans chacune de ces chaînes.
Classeur Excel à télécharger
Nous suggérons de baser l'étude sur ce tableau des chaînes et mots clés.
Les chaînes à étudier sont listées en colonne B. Les termes cherchés, issus de la matrice en colonne E, sont à réunir en colonne C, lorsqu'ils sont trouvés dans la chaîne analysée en colonne B.
La fonction d'assemblage
Bien entendu, pour parcourir tous les termes d'une plage et les rechercher dans une cellule, c'est un
traitement récursif dont nous avons besoin. En d'autres termes, c'est une
fonction matricielle bien connue désormais qui doit être impliquée. Nous l'avons annoncé, Il s'agit de la
fonction Filtre. Et pour regrouper tous les termes trouvés dans chaque chaîne, nous avons besoin d'une
fonction d'assemblage ou de
concaténation si vous préférez. Elle se nomme
Joindre.Texte.
- Cliquer sur la cellule C4 pour la sélectionner,
- Taper le symbole égal (=) pour débuter la construction de la syntaxe matricielle,
- Inscrire la fonction d'assemblage suivie d'une parenthèse, soit : Joindre.Texte(,
- Taper le symbole du tiret entre guillemets, soit : "-",
C'est ainsi que nous matérialisons le délimiteur devant séparer les termes trouvés.
- Taper un point-virgule suivi du chiffre 1, soit : ;1,
De cette manière, nous décidons d'ignorer les résultats vides dans l'assemblage.
- Taper un point-virgule (;) pour passer dans l'argument du premier texte à concaténer,
Filtrer les mots trouvés
Dans ce
raisonnement matriciel, ce sont tous les mots clés trouvés dans la chaîne grâce à la
fonction Filtre que nous allons assembler les uns avec les autres.
- Inscrire la fonction d'extraction suivie d'une parenthèse, soit : Filtre(,
- Désigner la matrice des mots clés à extraire en sélectionnant la plage de cellules E4:E7,
- Puis, enfoncer la touche F4 du clavier pour la figer, ce qui donne : $E$4:$E$7,
En effet, nous allons répliquer la logique sur les cellules du dessous. Pourtant, ce sont bien toujours les mêmes mots clés qui doivent être cherchés dans les cases du dessous. Les bornes de la matrice des termes clés ne doivent donc pas suivre le déplacement de la formule que nous allons ainsi propager.
- Taper un point-virgule (;) pour passer dans l'argument du critère pour la fonction Filtre,
Positions des mots trouvés
Dans ce
raisonnement matriciel et nous le répétons, l'idée est de déceler la présence des mots clés de la matrice (E4:E7), dans la cellule en cours d'analyse. Si la recherche de l'un d'entre eux répond positivement, nous devons l'extraire pour l'assembler avec les autres. Il est donc question d'exploiter la
fonction Cherche pour passer en revue tous les mots clés de la matrice sur la cellule en cours d'analyse. Si une position est retournée par la
fonction Cherche, nous devons associer ce mot avec les précédents.
- Inscrire la fonction pour tester les valeurs numériques, suivie d'une parenthèse, soit : EstNum(,
Si la
fonction EstNum répond favorablement, elle indiquera que la recherche que nous devons lui imbriquer maintenant, a bien réussi. C'est ainsi que nous allons pouvoir filtrer uniquement les mots clés concordants et ce, pour chaque cellule.
- Inscrire la fonction de recherche suivie d'une parenthèse, soit : Cherche(,
- Indiquer les mots clés cherchés en sélectionnant de nouveau la plage E4:E7,
- Comme précédemment, enfoncer la touche F4 du clavier pour la figer, soit : $E$4:$E$7,
- Taper un point-virgule (;) pour passer dans l'argument du texte de recherche,
- Puis, désigner la première chaîne du tableau en cliquant sur sa case B4,
Cette fois, nous ne la figeons pas. En effet, cette formule devra être répliquée sur les lignes suivantes pour rechercher ces mêmes mots clés ($) dans toutes les chaînes du dessous (B5, B6 etc...).
- Fermer la parenthèse de la fonction Cherche,
- Puis, fermer la parenthèse de la fonction EstNum,
Nous sommes donc de retour dans les arguments de la
fonction Filtre.
- Taper un point-virgule (;) pour passer dans son troisième paramètre ([si_vide]),
- Inscrire deux guillemets (""),
De cette façon, en l'absence de concordance, plutôt que de générer une erreur, nous demandons à la
fonction Filtre de répondre par une
cellule vide.
- Fermer la parenthèse de la fonction Filtre,
- Fermer la parenthèse de la fonction Joindre.Texte,
- Enfin, valider la formule par le raccourci clavier CTRL + Entrée,
Grâce à cette astuce, nous gardons active la cellule du résultat.
Comme vous pouvez le voir, tous les mots clés de recherche trouvés sont réunis. En l'occurrence dans cette première chaîne et c'est un fait, ils sont tous exploités.
- Double cliquer sur la poignée du résultat pour répandre la logique sur la hauteur du tableau,
C'est ainsi que les mots clés utilisés sont débusqués pour chaque chaîne analysée.
La syntaxe complète de la formule d'extraction et de regroupement des mots clés, est la suivante :
=JOINDRE.TEXTE("-"; 1; FILTRE($E$4:$E$7; ESTNUM(CHERCHE($E$4:$E$7; B4)); ""))