Comment utiliser la fonction COUNT dans Microsoft Excel
Agence web » Actualités du digital » Comment diviser et extraire du texte dans Microsoft Excel

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.

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")

Fonction TEXTBEFORE pour une extraction de base

En utilisant cette formule suivante, nous allons extraire tout le texte avant la deuxième instance du mot « texte ».

=TEXTBEFORE(A2,"text",2)

Fonction TEXTBEFORE utilisant une instance

Pour un autre exemple, nous utiliserons le match_mode argument pour une correspondance sensible à la casse.

=TEXTBEFORE(A2,"TEXT",,0)

Fonction TEXTBEFORE sensible à la casse

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")

Fonction TEXTAFTER pour une extraction de base

En utilisant cette formule suivante, nous allons extraire tout le texte après la deuxième instance du mot « texte ».

=TEXTAFTER(A2,"text",2)

Fonction TEXTAFTER utilisant une instance

Et enfin, nous utiliserons le match_mode argument pour une correspondance sensible à la casse.

=TEXTAFTER(A2,"TEXT",,0)

Fonction TEXTAFTER utilisant la sensibilité à la casse

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," ")

Fonction TEXTSPLIT sur plusieurs colonnes

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.

Fonction TEXTSPLIT sur les lignes

Pour cet exemple suivant, nous diviserons uniquement après le point-virgule dans une autre colonne :

=TEXTSPLIT(A2,";")

Fonction TEXTSPLIT sur plusieurs colonnes avec un seul délimiteur

Ensuite, nous diviserons uniquement après le point-virgule en une ligne au lieu d’une colonne :

=TEXTSPLIT(A2,,";")

Fonction TEXTSPLIT sur des lignes avec un seul délimiteur

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.

★★★★★