Comment diviser et extraire du texte dans Microsoft Excel
Microsoft Excel offre un ensemble de fonctions pour travailler avec du texte. Lorsque vous souhaitez extraire une partie d’une chaîne de texte ou diviser une chaîne en lignes ou en colonnes, trois fonctions particulières permettent de faire le travail.
Avec TEXTBEFORE et TEXTAFTER, vous pouvez extraire du texte avant ou après un certain mot ou caractère. Cela rend ces fonctions plus flexibles que les fonctions LEFT, RIGHT et MID que vous pourriez utiliser. Pour diviser une chaîne en plusieurs cellules, vous pouvez utiliser TEXTSPLIT.
Noter: Ces trois fonctions sont nouvelles dans Excel à partir d’août 2022. Elles seront déployées sur Office Insiders, puis sur tous les utilisateurs d’Excel au fil du temps.
Sommaire
La fonction TEXTBAVANT
La syntaxe de la fonction est TEXTBEFORE(text, delimiter, instance, match_mode, match_end, if_not_found)
. Les deux premiers arguments sont requis avec text
étant soit le texte réel, soit une référence de cellule et delimiter
étant le point auquel vous voulez le texte avant.
Voici les descriptions des trois arguments facultatifs :
- Exemple: Utilisez cet argument s’il y a plus d’une occurrence du
delimiter
dans la chaîne et vous en voulez une en particulier. - Match_mode: Entrez 0 pour sensible à la casse ou 1 pour non sensible à la casse. La valeur par défaut est 0.
- Match_end: Entrez 0 pour ne pas faire correspondre le délimiteur à la fin du texte et 1 pour le faire correspondre. La valeur par défaut est 1.
- Si_not_found: Utilisez cet argument si vous préférez un résultat plutôt qu’une erreur pour les valeurs introuvables.
Maintenant que vous connaissez les arguments, regardons quelques exemples d’utilisation de TEXTBEFORE.
Dans ce premier exemple, nous allons extraire tout le texte avant le mot « de » dans la cellule A2 en utilisant cette formule :
=TEXTBEFORE(A2,"from")
En utilisant cette formule suivante, nous allons extraire tout le texte avant la deuxième instance du mot « texte ».
=TEXTBEFORE(A2,"text",2)
Pour un autre exemple, nous utiliserons le match_mode
argument pour une correspondance sensible à la casse.
=TEXTBEFORE(A2,"TEXT",,0)
La fonction TEXTAFTER
TEXTAFTER est l’exact opposé de TEXTBEFORE. La syntaxe de la fonction est TEXTAFTER(text, delimiter, instance, match_mode, match_end, if_not_found)
.
Comme son homologue, les deux premiers arguments sont requis avec text
étant soit le texte réel, soit une référence de cellule et delimiter
étant le point auquel vous voulez le texte après.
Les trois arguments facultatifs décrits ci-dessus fonctionnent également de la même manière que la fonction TEXTBEFORE.
Dans ce premier exemple, nous allons extraire tout le texte après le mot « de » dans la cellule A2 en utilisant cette formule :
=TEXTAFTER(A2,"from")
En utilisant cette formule suivante, nous allons extraire tout le texte après la deuxième instance du mot « texte ».
=TEXTAFTER(A2,"text",2)
Et enfin, nous utiliserons le match_mode
argument pour une correspondance sensible à la casse.
=TEXTAFTER(A2,"TEXT",,0)
La fonction TEXTSPLIT
Avec la fonction TEXTSPLIT, vous pouvez diviser le texte en cellules d’une ligne ou d’une colonne en fonction du délimiteur, par exemple, un espace ou un point.
La syntaxe est TEXTSPLIT(text, column_delimiter, row_delimiter, ignore, match_mode, pad_with)
où le premier argument est obligatoire et peut être du texte réel ou une référence de cellule. Par défaut, la formule divise le texte en colonnes, mais vous pouvez utiliser des lignes à la place avec le row_delimiter
dispute.
Voici les descriptions des arguments restants :
- Ignorer: Entrez FALSE pour créer une cellule vide lorsque deux délimiteurs sont consécutifs. La valeur par défaut est TRUE.
- Match_mode: Recherche le délimiteur pour une correspondance avec la valeur par défaut sensible à la casse.
- Pad_avec: Pour remplir le résultat, entrez une valeur. Sinon, l’erreur #N/A s’affiche.
Dans cet exemple, nous allons diviser la chaîne de texte dans la cellule A2 en colonnes avec un espace comme notre column_delimiter
entre guillemets. Voici la formule :
=TEXTSPLIT(A2," ")
Au lieu de diviser la chaîne en colonnes, nous la diviserons en lignes en utilisant un espace comme notre row_delimiter
avec cette formule :
=TEXTSPLIT(A2,," ")
Remarquez dans cette formule, nous laissons le column_delimiter
argument vide et n’utilisez que le row_delimiter
.
Pour cet exemple suivant, nous diviserons uniquement après le point-virgule dans une autre colonne :
=TEXTSPLIT(A2,";")
Ensuite, nous diviserons uniquement après le point-virgule en une ligne au lieu d’une colonne :
=TEXTSPLIT(A2,,";")
La fonction TEXTSPLIT est puissante. Si vous recherchez des exemples plus complexes d’utilisation des arguments facultatifs, visitez la page de support Microsoft pour la fonction TEXTSPLIT.
La prochaine fois que vous voudrez extraire du texte d’une cellule ou diviser une longue chaîne de texte, gardez ces fonctions Excel à l’esprit.