JOINDRE.TEXTE SI – Excel et Google Sheets
Télécharger le Classeur Exemple
Ce tutoriel montre comment concaténer des valeurs de cellules en fonction de critères à l’aide de la fonction JOINDRE.TEXTE dans Excel et Google Sheets.
La fonction JOINDRE.TEXTE
Les utilisateurs d’Excel 2019+ ont accès à la fonction JOINDRE.TEXTE, qui fusionne plusieurs chaînes de texte ensemble, en séparant chaque chaîne avec un délimiteur spécifié.
Remarque : les utilisateurs de Google Sheets peuvent utiliser la fonction JOINDRE.TEXTE, mais disposent d’une méthode légèrement différente pour saisir les formules de tableau. Notez que le nom de la fonction à utiliser dans Google Sheets est en anglais, contrairement à Excel, il n’existe pas de traduction française pour cette fonction au moment d’écrire cet article. Voir la section ultérieure sur ce sujet.
Cet exemple utilise les fonctions JOINDRE.TEXTE et SI dans une formule de tableau pour créer une chaîne de texte de noms de joueurs séparés par des virgules et associés à la valeur Rouge de l’équipe
=JOINDRE.TEXTE("; ";VRAI;SI(C3:C8="Rouge";B3:B8;""))
Les utilisateurs d’Excel 2019 devront saisir cette formule comme une fonction de tableau en appuyant sur CTRL + MAJ + ENTRÉE. Les utilisateurs des versions ultérieures d’Excel n’ont pas besoin de suivre cette étape.
Pour expliquer ce que fait cette formule, nous allons la décomposer en plusieurs étapes :
Voici notre formule finale :
=JOINDRE.TEXTE("; ";VRAI;SI(C3:C8="Rouge";B3:B8;""))
Tout d’abord, les valeurs des plages de cellules sont ajoutées à la formule :
=JOINDRE.TEXTE("; ";VRAI;SI({"Rouge" ; "Bleu" ; "Bleu" ; "Rouge" ; "Bleu" ; "Rouge"}="Rouge";{"A" ; "B" ; "C" ; "D" ; "E" ; "F"},""))
Ensuite, la liste des noms d’équipe est comparée à la valeur Rouge:
=JOINDRE.TEXTE("; ";VRAI;SI({VRAI ; FAUX ; FAUX ; VRAI ; FAUX ; VRAI},{"A" ; "B" ; "C" ; "D" ; "E" ; "F"},""))
La fonction SI remplace les valeurs VRAIES par le nom du joueur et les valeurs FAUX par « »
=JOINDRE.TEXTE("; ";VRAI;{"A" ; "" ; "" ; "D" ; "" ; "F"})
La fonction JOINDRE.TEXTE combine ensuite toutes les valeurs du tableau en une seule chaîne de texte. Nous avons demandé à la fonction d’ignorer les valeurs vides et d’ajouter le texte » , » entre chaque valeur. On obtient ainsi le résultat final :
="A, D, F"
JOINDRE.TEXTE SI – Pré-Excel 2019
Comme la fonction JOINDRE.TEXTE n’est pas disponible avant la version 2019 d’Excel, nous devons résoudre ce problème d’une manière différente. La fonction CONCATENER est disponible mais ne prend pas de plages de cellules en entrée et ne permet pas les opérations de tableau. Nous devons donc utiliser une colonne d’aide avec une fonction SI à la place.
L’exemple suivant montre comment utiliser une colonne d’aide pour créer une chaîne de texte séparée par des virgules de noms de joueurs associés à une valeur d’équipe rouge :
=SI(C3="Rouge";B3&"; ";"")&D4
La première étape de cet exemple consiste à utiliser une fonction SI pour reproduire la condition Équipe = Rouge. Si la condition est remplie, la valeur Nom du joueur est écrite et suivie du délimiteur choisi « ; » :
=SI(C3="Rouge";B3&"; ";"")
Ensuite, nous pouvons créer une colonne qui rassemble la liste de ces valeurs dans une seule cellule en référençant également la cellule située en dessous :
=D3&E4
Cette formule utilise le caractère & pour joindre deux valeurs ensemble. Notez que la fonction CONCATENER pourrait être utilisée pour obtenir exactement le même résultat, mais la méthode & est souvent préférée car elle est plus courte et indique plus clairement l’action effectuée par la formule.
Ces deux colonnes d’aide peuvent ensuite être combinées en une seule formule :
=SI(C3="Rouge";B3&"; ";"")&D4
Une cellule de résumé peut alors faire référence à la première valeur de la colonne d’aide Liste des joueurs:
=D3
Si la valeur finale « ; » n’est pas nécessaire, une fonction SI imbriquée supplémentaire doit être ajoutée à la formule :
=SI(C3="Rouge";SI(D4="";B3;B3&"; "),"")&D4
La partie supplémentaire de la formule est la fonction SI ci-dessous :
SI(D4="";B3;B3&"; ")
Cette partie de la formule vérifie la valeur de la cellule située en dessous. Si elle est vide, alors cette cellule doit être le dernier nom de joueur de la liste et le nom est écrit sans délimiteur. Si la cellule inférieure contient une valeur, alors cette cellule n’est pas le dernier nom de joueur de la liste et le délimiteur « ; » est ajouté.
JOINDRE.TEXTE (JOINDRE.TEXTE) SI dans Google Sheets
Ces formules fonctionnent de la même manière dans Google Sheets et dans Excel, sauf que la fonction ARRAYFORMULA doit être utilisée dans Google Sheets pour que les résultats soient évalués correctement. Celle-ci peut être ajoutée automatiquement en appuyant sur les touches CTRL + MAJ + ENTRÉE pendant l’édition de la formule (ou en ajoutant manuellement ) :
=ARRAYFORMULA(TEXTJOIN("; ";VRAI,(SI(C3:C8="Rouge";B3:B8;""))))
Tel que précisé précédemment le nom anglais « TEXTJOIN » de la fonction doit être utilisé dans Google Sheets.