Table des matières
Le tutoriel montre comment utiliser la fonction TEXTJOIN pour fusionner du texte dans Excel à l'aide d'exemples pratiques.
Jusqu'à récemment, il existait deux méthodes courantes pour fusionner le contenu des cellules dans Excel : l'opérateur de concaténation et la fonction CONCATENATE. Avec l'introduction de TEXTJOIN, il semble qu'une alternative plus puissante soit apparue, qui vous permet de joindre du texte d'une manière plus flexible en incluant n'importe quel délimiteur entre les deux. Mais en réalité, il y a beaucoup plus que cela !
Fonction Excel TEXTJOIN
TEXTJOIN dans Excel fusionne les chaînes de texte de plusieurs cellules ou plages et sépare les valeurs combinées avec tout délimiteur que vous spécifiez. Il peut ignorer ou inclure les cellules vides dans le résultat.
Cette fonction est disponible dans Excel pour Office 365, Excel 2021 et Excel 2019.
La syntaxe de la fonction TEXTJOIN est la suivante :
TEXTJOIN(délimiteur, ignore_empty, texte1, [texte2], ...)Où :
- Délimiteur (obligatoire) - est un séparateur entre chaque valeur de texte que vous combinez. Habituellement, il est fourni sous forme de chaîne de texte entre guillemets ou de référence à une cellule contenant une chaîne de texte. Un nombre fourni comme délimiteur est traité comme du texte.
- Ignore_empty (obligatoire) - Détermine si les cellules vides doivent être ignorées ou non :
- VRAI - ignore les cellules vides.
- FALSE - inclure les cellules vides dans la chaîne résultante.
- Texte1 (Peut être fourni sous la forme d'une chaîne de texte, d'une référence à une cellule contenant une chaîne, ou d'un tableau de chaînes, comme une plage de cellules.
- Texte2 Un maximum de 252 arguments de texte sont autorisés, dont les suivants texte1 .
À titre d'exemple, combinons les parties d'adresse des cellules B2, C2 et D2 dans une seule cellule, en séparant les valeurs par une virgule et un espace :
Avec la fonction CONCATENATE, vous devez spécifier chaque cellule individuellement et placer un délimiteur (", ") après chaque référence, ce qui peut être gênant lorsque vous fusionnez le contenu de plusieurs cellules :
=CONCATÉNATION(A2, ", ", B2, ", ", C2)
Avec Excel TEXTJOIN, vous spécifiez le délimiteur une seule fois dans le premier argument, et vous fournissez une plage de cellules pour le troisième argument :
=TEXTJOIN(", ", TRUE, A2:C2)
TEXTJOIN dans Excel - 6 choses à retenir
Pour utiliser efficacement TEXTJOIN dans vos feuilles de travail, il y a quelques points importants à prendre en compte :
- TEXTJOIN est une nouvelle fonction, qui n'est disponible que dans Excel 2019 - Excel 365. Dans les versions antérieures d'Excel, veuillez utiliser la fonction CONCATENATE ou l'opérateur "& ;" à la place.
- Dans les nouvelles versions d'Excel, vous pouvez également utiliser la fonction CONCAT pour concaténer des valeurs provenant de cellules et de plages distinctes, mais sans option pour les délimiteurs ou les cellules vides.
- Tout nombre fourni à TEXTJOIN pour le délimiteur ou texte est converti en texte.
- Si délimiteur n'est pas spécifié ou est une chaîne vide (""), les valeurs de texte sont concaténées sans aucun délimiteur.
- La fonction peut gérer jusqu'à 252 arguments texte.
- La chaîne qui en résulte peut contenir un maximum de 32 767 caractères, ce qui correspond à la limite des cellules dans Excel. Si cette limite est dépassée, une formule TEXTJOIN renvoie l'erreur #VALUE !
Comment joindre du texte dans Excel - exemples de formules
Pour mieux comprendre tous les avantages de TEXTJOIN, voyons comment utiliser cette fonction dans des scénarios réels.
Convertir une colonne en liste séparée par des virgules
Lorsque vous cherchez à concaténer une liste verticale en séparant les valeurs par une virgule, un point-virgule ou tout autre délimiteur, TEXTJOIN est la bonne fonction à utiliser.
Pour cet exemple, nous allons concaténer les victoires et les défaites de chaque équipe dans le tableau ci-dessous. Cette opération peut être réalisée à l'aide des formules suivantes, qui ne diffèrent que par la plage de cellules jointes.
Pour l'équipe 1 :
=TEXTJOIN(",", FALSE, B2:B6)
Pour l'équipe 2 :
=TEXTJOIN(",", FALSE, C2:C6)
Et ainsi de suite.
Dans toutes les formules, les arguments suivants sont utilisés :
- Délimiteur - une virgule (",").
- Ignore_empty est réglé sur FALSE pour inclure les cellules vides, car nous devons montrer les parties qui n'ont pas été jouées.
Vous obtiendrez ainsi quatre listes séparées par des virgules qui représentent les victoires et les défaites de chaque équipe sous une forme compacte :
Joindre des cellules avec des délimiteurs différents
Si vous devez séparer les valeurs combinées par des délimiteurs différents, vous pouvez soit fournir plusieurs délimiteurs sous la forme d'une constante de tableau, soit saisir chaque délimiteur dans une cellule distincte et utiliser une référence de plage pour l'élément délimiteur argument.
Supposons que vous vouliez joindre des cellules contenant des parties de nom différentes et obtenir le résultat dans ce format : Nom de famille , Prénom Second prénom .
Comme vous pouvez le constater, le Nom et le Prénom sont séparés par une virgule et un espace (", ") alors que le Prénom et le Second prénom ne sont séparés que par un espace (" "). Nous incluons donc ces deux délimiteurs dans un tableau constant {", "," "} et obtenons la formule suivante :
=TEXTJOIN({", "," "}, TRUE, A2:C2)
Où A2:C2 sont les parties du nom à combiner.
Vous pouvez également taper les délimiteurs sans guillemets dans des cellules vides (par exemple, une virgule et un espace dans F3 et un espace dans G3) et utiliser la plage $F$3:$G$3 (attention aux références absolues des cellules) pour le processus d'évaluation. délimiteur argument :
=TEXTJOIN($F$3:$G$3, TRUE, A2:C2)
En utilisant cette approche générale, vous pouvez fusionner le contenu des cellules sous différentes formes.
Par exemple, si vous voulez que le résultat dans le champ Prénom Initiale du milieu Nom de famille puis utiliser la fonction LEFT pour extraire le premier caractère (l'initiale) de la cellule C2. Quant aux délimiteurs, nous mettons un espace (" ") entre le Prénom et l'initiale du Milieu ; un point et un espace (" . ") entre l'initiale et le Nom :
=TEXTJOIN({" ","."}, TRUE, B2, LEFT(C2,1), A2)
Joindre du texte et des dates dans Excel
Dans un cas particulier, lorsque vous fusionnez du texte et des dates, fournir des dates directement à une formule TEXTJOIN ne fonctionnera pas. Comme vous vous en souvenez peut-être, Excel stocke les dates comme des numéros de série, de sorte que votre formule renverra un nombre représentant la date, comme le montre la capture d'écran ci-dessous :
=TEXTJOIN(" ", TRUE, A2:B2)
Pour résoudre ce problème, vous devez convertir la date en une chaîne de texte avant de la joindre. C'est là que la fonction TEXT avec le code de format souhaité ("mm/dd/yyyy" dans notre cas) s'avère utile :
=TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/yyyy"))
Fusionner du texte avec des sauts de ligne
Si vous souhaitez fusionner du texte dans Excel de sorte que chaque valeur commence sur une nouvelle ligne, utilisez CHAR(10) comme délimiteur (où 10 est un caractère de saut de ligne).
Par exemple, pour combiner le texte des cellules A2 et B2 en séparant les valeurs par un saut de ligne, voici la formule à utiliser :
=TEXTJOIN(CHAR(10), TRUE, A2:B2)
Conseil : pour que le résultat s'affiche sur plusieurs lignes, comme dans la capture d'écran ci-dessus, assurez-vous que la fonction d'habillage du texte est activée.
TEXTJOIN IF pour fusionner du texte avec des conditions
En raison de la capacité d'Excel TEXTJOIN à traiter des tableaux de chaînes de caractères, il peut également être utilisé pour fusionner de manière conditionnelle le contenu de deux ou plusieurs cellules. Pour ce faire, utilisez la fonction IF pour évaluer une plage de cellules et renvoyer un tableau de valeurs qui remplissent la condition à la fonction texte1 argument de TEXTJOIN.
A partir du tableau présenté dans la capture d'écran ci-dessous, supposons que vous souhaitiez récupérer une liste de Équipe 1 Pour ce faire, insérez l'instruction IF suivante dans le champ texte1 argument :
IF($B$2:$B$9=1, $A$2:$A$9, "")
En clair, la formule ci-dessus dit : si la colonne B est égale à 1, renvoyer une valeur de la colonne A dans la même ligne ; sinon, renvoyer une chaîne vide.
La formule complète de Équipe 1 prend cette forme :
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))
De la même manière, vous pouvez obtenir une liste séparée par des virgules des membres de l'application Équipe 2 :
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))
Remarque : en raison de la fonction de tableaux dynamiques disponible dans Excel 365 et 2021, cette formule fonctionne comme une formule ordinaire, comme le montre la capture d'écran ci-dessus. Dans Excel 2019, vous devez la saisir comme une formule de tableau traditionnelle en appuyant sur le raccourci Ctrl + Shift + Enter.
Rechercher et renvoyer des correspondances multiples dans une liste séparée par des virgules.
Comme vous le savez probablement, la fonction Excel VLOOKUP ne peut renvoyer que la première correspondance trouvée. Mais que faire si vous avez besoin d'obtenir toutes les correspondances pour un ID, une UGS ou autre chose spécifique ?
Pour afficher les résultats dans des cellules distinctes, utilisez l'une des formules décrites dans la section Comment effectuer un VLOOKUP de plusieurs valeurs dans Excel.
Pour rechercher et renvoyer toutes les valeurs correspondantes dans une seule cellule sous forme de liste séparée par des virgules, utilisez la formule TEXTJOIN IF.
Pour voir comment cela fonctionne dans la pratique, récupérons la liste des produits achetés par un vendeur donné à partir du tableau d'exemple ci-dessous :
=TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))
Où A2:A12 sont des noms de vendeurs, B2:B12 sont des produits, et D2 est le vendeur qui nous intéresse.
Grâce à l'utilisation intelligente des références de cellules relatives (pour le vendeur cible) et absolues (pour les noms des vendeurs et des produits), la formule se copie correctement dans les cellules ci-dessous et fonctionne bien pour les deux autres vendeurs également :
Remarque : comme dans l'exemple précédent, cette formule fonctionne comme une formule normale dans Excel 365 et 2021, et comme une formule CSE (Ctrl + Shift + Enter ) dans Excel 2019.
La logique de la formule est exactement la même que dans l'exemple précédent :
L'instruction IF compare chaque nom dans A2:A12 avec le nom cible dans D2 (Adam dans notre cas) :
IF($A$2:$A$12=D2, $B$2:$B$12, "")
Si le test logique donne VRAI (c'est-à-dire que le nom dans D2 correspond au nom dans la colonne A), la formule renvoie un produit de la colonne B ; sinon, une chaîne vide ("") est renvoyée. Le résultat de IF est le tableau suivant :
{"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}
Le tableau est envoyé à la fonction TEXTJOIN en tant que texte1 Et comme TEXTJOIN est configuré pour séparer les valeurs par une virgule et un espace (", "), nous obtenons cette chaîne comme résultat final :
Bananes, pommes, oranges et citrons.
Excel TEXTJOIN ne fonctionne pas
Lorsque votre formule TEXTJOIN donne lieu à une erreur, il s'agit le plus souvent de l'une des situations suivantes :
- L'erreur #NAME ? se produit lorsque TEXTJOIN est utilisé dans une ancienne version d'Excel où cette fonction n'est pas prise en charge (avant 2019) ou lorsque le nom de la fonction est mal orthographié.
- L'erreur #VALUE ! se produit si la chaîne résultante dépasse 32 767 caractères.
- L'erreur #VALUE ! peut également se produire si Excel ne reconnaît pas le délimiteur comme du texte, par exemple si vous fournissez un caractère non imprimable tel que CHAR(0).
Voilà comment utiliser la fonction TEXTJOIN dans Excel. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !
Téléchargements disponibles
Exemples de formules Excel TEXTJOIN