Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment concaténer facilement du texte basé sur des critères dans Excel?

Supposons que j'ai une colonne de numéros d'identification qui contient des doublons et une colonne de noms, et maintenant, je veux concaténer les noms basés sur les numéros d'identification uniques comme capture d'écran gauche montrée, pour combiner rapidement le texte basé sur des critères, comment pourrions-nous faire dans Excel?

doc combine le texte basé sur les critères 1

Concaténer le texte en fonction des critères avec la fonction définie par l'utilisateur

Concaténer du texte basé sur des critères avec Kutools pour Excel


Concaténer du texte basé sur la même valeur dans une autre colonne:

Avec Kutools for Excel's Lignes de combinaison avancées Utiltiy, vous pouvez rapidement combiner plusieurs lignes dupliquées en un seul enregistrement basé sur des colonnes clés, et il peut également appliquer certains calculs tels que somme, moyenne, nombre et ainsi de suite pour les autres colonnes.

  • 1. Spécifiez la colonne clé que vous souhaitez combiner d'autres colonnes en fonction de;
  • 2. Choisissez le séparateur pour vos données combinées.

doc combine le texte basé sur les critères 10

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!



Pour combiner du texte avec les numéros d'ID uniques, vous pouvez d'abord extraire les valeurs uniques, puis créer une fonction définie par l'utilisateur pour combiner les noms en fonction de l'ID unique.

1. Prenez les données suivantes par exemple, vous devez d'abord extraire les numéros d'identification uniques, veuillez appliquer cette formule de tableau: =IFERROR(INDEX($A$XNUMX:$A$XNUMX, MATCH(XNUMX,COUNTIF($D$XNUMX:DXNUMX, $A$XNUMX:$A$XNUMX), XNUMX)),""), Entrez cette formule dans une cellule vide, D2 par exemple, puis appuyez sur Ctrl + Maj + Entrée touches ensemble, voir capture d'écran:

doc combine le texte basé sur les critères 2

Pointe: Dans la formule ci-dessus, A2: A15 est la plage de données de la liste dont vous voulez extraire des valeurs uniques, D1 est la première cellule de la colonne que vous voulez mettre le résultat d'extraction.

2. Ensuite, faites glisser la poignée de remplissage vers le bas pour extraire toutes les valeurs uniques jusqu'à ce que des blancs soient affichés, voir capture d'écran:

doc combine le texte basé sur les critères 3

3. Dans cette étape, vous devez créer un Fonction définie par l'utilisateur pour combiner les noms en fonction des numéros d'identification uniques, maintenez la touche ALT + F11 clés, et il ouvre la Microsoft Visual Basic pour applications fenêtre.

4. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: concaténer du texte en fonction de critères

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Update 20150414
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If
For i = 1 To CriteriaRange.Count
    If CriteriaRange.Cells(i).Value = Condition Then
        xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
    End If
Next i
If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

5. Puis enregistrez et fermez ce code, revenez à votre feuille de calcul et entrez cette formule dans la cellule E2, = CONCATENATEIF ($ A $ 2: $ A $ 15, D2, $ B $ 2: $ B $ 15, ",") , voir capture d'écran:

doc combine le texte basé sur les critères 4

6. Puis faites glisser la poignée de remplissage vers les cellules que vous souhaitez appliquer cette formule, et tous les noms correspondants ont été combinés en fonction des numéros d'identification, voir capture d'écran:

doc combine le texte basé sur les critères 5

Conseils:

1. Dans la formule ci-dessus, A2: A15 sont les données d'origine que vous souhaitez combiner en fonction de, D2 est la valeur unique que vous avez extraite, et B2: B15 est la colonne de nom que vous voulez combiner ensemble.

2. Comme vous pouvez le voir, j'ai combiné les valeurs qui sont séparées par une virgule, vous pouvez utiliser d'autres caractères en changeant la virgule "," de la formule selon vos besoins.


Si vous avez Kutools for Excel, Avec son Lignes de combinaison avancées utilitaire, vous pouvez rapidement et facilement concaténer la base de texte sur les critères.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, libre d'essayer sans limitation dans 60 jours.

Après l'installation de Kutools for Excel, procédez comme suit:

1. Sélectionnez la plage de données que vous souhaitez combiner en fonction d'une colonne.

2. Cliquez Kutools > Contenu > Lignes de combinaison avancées, voir capture d'écran:

doc combine le texte basé sur les critères 6 6

3. Dans le Combiner les lignes basées sur la colonne boîte de dialogue, cliquez sur la colonne ID, puis sur Clé primaire pour faire de cette colonne la colonne clé sur laquelle reposent vos données combinées, voir capture d'écran:

doc combine le texte basé sur les critères 7

4. Et puis cliquez Nom colonne que vous souhaitez combiner les valeurs, puis cliquez sur Combiner option, et choisissez un séparateur pour les données combinées, voir capture d'écran:

doc combine le texte basé sur les critères 8

5. Après avoir terminé ces paramètres, cliquez sur OK pour quitter la boîte de dialogue, et les données de la colonne B ont été combinées ensemble en fonction de la colonne de clé A. Voir la capture d'écran:

doc combine le texte basé sur les critères 9

Pour en savoir plus de détails sur cette fonction Combiner les lignes en fonction de la colonne.

Avec cette fonctionnalité, le problème suivant sera résolu dès que possible:

Comment combiner plusieurs lignes en une seule et additionner des doublons dans Excel?

Télécharger et tester gratuitement Kutools for Excel maintenant!


Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!



Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    David · 8 months ago
    Is it possible to replace the comma splitter with a line break, i.e. char(10)? Many thanks.
    • To post as a guest, your comment is unpublished.
      skyyang · 8 months ago
      Hello, David,

      To combine the cells with line break, the following User Defined Function may help you.

      Function ConcatenateIf_LineBreak(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
      Dim xResult As String
      On Error Resume Next
      If CriteriaRange.Count <> ConcatenateRange.Count Then
      ConcatenateIf = CVErr(xlErrRef)
      Exit Function
      End If
      For I = 1 To CriteriaRange.Count
      If CriteriaRange.Cells(I).Value = Condition Then
      xResult = xResult & vbCrLf & ConcatenateRange.Cells(I).Value
      End If
      Next I
      If xResult <> "" Then
      xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
      End If
      ConcatenateIf_LineBreak = xResult
      Exit Function
      End Function

      After pasting this code, then apply this formula: =ConcatenateIf_LineBreak(A2:A13,F2,B2:B13,",").

      After getting the results with this formula, you should click the Wrap Text to get the correct results you need.
  • To post as a guest, your comment is unpublished.
    Ahmed · 8 months ago
    So Easy, thank you :)
  • To post as a guest, your comment is unpublished.
    tien minh · 1 years ago
    Hi guys , I got an error #NAME? when I apply formulas CONCATENATEIF in excel file after set VBA code for this, could anyone help me to solve it , thanks som uch
  • To post as a guest, your comment is unpublished.
    krawlis · 1 years ago
    Is there a way to apply this CONCATENATEIF function in a separate sheet? It works when I put it in the same sheet as input data, but i need both tables in different sheets and it doesn't work.
    • To post as a guest, your comment is unpublished.
      Al Boulley · 1 years ago
      Yes, what you want to do is add the function to a module. Go into the VBA editor, right-click on "VBAProject" in the Project Explorer, mouse over the "Insert" menu item, and in that submenu choose "Module". Any functions you put in there will be useable on any sheet in your workbook.
  • To post as a guest, your comment is unpublished.
    MIchele · 1 years ago
    Is there a way to do this on Mac????
    It's exactly what I need - please let me know (or if any mac software would do it that you know of). Thx