J'ai 3 colonnes A, B, C et j'ai besoin de fusionner les 3 colonnes et j'ai appliqué le forumala =A1&","&B1&","&C1 la sortie est venue comme colonne E J'ai besoin de la sortie comme colonne D.

screenshot of excel

2
suresh narasimman 20 nov. 2018 à 14:12

4 réponses

Meilleure réponse

La formule suivante atteindra le résultat souhaité:

=TEXTJOIN(",",TRUE,A1:C1)

Textjoin fonctionne comme concaténer mais peut avoir un délimiteur comme argument, il vous donne également la possibilité d'ignorer les cellules vides, le premier argument est le délimiteur, le second est l'indicateur pour ignorer les blancs et le troisième est pour la plage.

Comme les commentaires mentionnent que TEXTJOIN n'est disponible que pour les abonnés Office 365, une alternative possible serait de créer votre UDF comme ci-dessous, cela vous permettra d'utiliser la formule ci-dessus sans abonnement Office 365:

Function TEXTJOIN(delimiter As String, ignore_empty As Boolean, rng As Range) As String
Dim compiled As String
For Each cell In rng
    If ignore_empty And IsEmpty(cell.Value) Then
        'nothing
    Else
        compiled = compiled + IIf(compiled = "", "", delimiter) + CStr(cell.Value)
    End If
Next
TEXTJOIN = compiled
End Function
5
Xabier 20 nov. 2018 à 14:14

Entrez cette formule dans E1:

=CONCATENATE(A1, IF(AND(B1<>"", A1<>""), ",", ""), B1,
    IF(AND(OR(A1<>"", B1<>""), C1<>""), ",", ""), C1)

Utilisation de TEXTJOIN peut être une option plus propre, mais n'est disponible que sur les versions plus récentes d'Excel.

3
Tim Biegeleisen 20 nov. 2018 à 11:23

S'il n'y a pas d'espaces dans les cellules, entrez dans D1 :

=SUBSTITUTE(TRIM(A1 & " " & B1 & " " & C1)," ",",")

Et copiez vers le bas:

enter image description here

1
Gary's Student 20 nov. 2018 à 11:26
'Put this code in module and use formula concmulti and select the range 
Function concmulti(slt As Range) As String
Dim str As String
Dim cell As Range
For Each cell In slt
str = str & cell.Value & ", "
Next cell
concmulti = str
End Function
1
Manoj Babu 20 nov. 2018 à 11:24