Note: The other languages of the website are Google-translated. Back to English
English English

Comment renvoyer plusieurs valeurs de recherche dans une cellule séparée par des virgules?

Dans Excel, nous pouvons appliquer la fonction RECHERCHEV pour renvoyer la première valeur correspondante à partir des cellules d'un tableau, mais, parfois, nous devons extraire toutes les valeurs correspondantes, puis les séparer par un délimiteur spécifique, tel qu'une virgule, un tiret, etc. en un seul cellule comme illustré ci-dessous. Comment pourrions-nous obtenir et renvoyer plusieurs valeurs de recherche dans une cellule séparée par des virgules dans Excel?

doc renvoie plusieurs valeurs séparées par des virgules 1

Renvoie plusieurs valeurs de recherche dans une cellule séparée par des virgules avec la fonction définie par l'utilisateur

Renvoyer plusieurs valeurs de recherche dans une cellule séparée par des virgules avec Kutools for Excel


Renvoie plusieurs valeurs de recherche dans une cellule séparée par des virgules avec la fonction définie par l'utilisateur

Normalement, il n'y a pas de moyen direct pour nous d'extraire et de renvoyer les multiples valeurs correspondantes et séparées par une virgule dans une cellule, ici, vous pouvez créer une fonction définie par l'utilisateur pour résoudre ce travail, procédez comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

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

Code VBA: renvoie plusieurs valeurs de recherche dans une cellule séparée par des virgules

Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby Extendoffice
    Dim I As Long
    Dim xRet As String
    For I = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(I, 1) = LookupValue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(I, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function

3. Ensuite, enregistrez ce code et fermez la fenêtre Module, revenez à votre feuille de calcul et entrez cette formule: = SingleCellExtract (D2, A2: B15,2, ",") dans une cellule vide que vous souhaitez renvoyer le résultat. Et puis appuyez sur Entrer clé pour obtenir le résultat, voir capture d'écran:

doc renvoie plusieurs valeurs séparées par des virgules 2

Notes: Dans la formule ci-dessus:

D2: indique les valeurs de cellule que vous souhaitez rechercher;

A2 : B15: est la plage de données dans laquelle vous souhaitez récupérer les données;

2: le numéro 2 est le numéro de la colonne à laquelle la valeur correspondante doit être renvoyée;

,: la virgule est le séparateur que vous souhaitez séparer les valeurs multiples.

Vous pouvez les modifier selon vos besoins.


Renvoyer plusieurs valeurs de recherche dans une cellule séparée par des virgules avec Kutools for Excel

Si vous avez Kutools pour Excel, cette tâche ne sera plus un problème. le Lignes de combinaison avancées L'utilitaire peut vous aider à combiner toutes les valeurs relatives basées sur une colonne.

Kutools pour Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours

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

1. Sélectionnez la plage de données dans laquelle vous souhaitez combiner toutes les valeurs correspondantes en fonction d'une colonne.

2Cliquez sur Kutools > Fusionner et fractionner > Lignes de combinaison avancées, voir capture d'écran:

3. Dans le Combiner des lignes en fonction de la colonne boîte de dialogue, cliquez sur le nom de la colonne que vous souhaitez combiner en fonction, puis cliquez sur Clé primaire bouton, voir capture d'écran:

doc renvoie plusieurs valeurs séparées par des virgules 4

4. Cliquez ensuite sur un autre nom de colonne pour lequel vous souhaitez combiner leurs valeurs correspondantes, puis cliquez sur Combiner pour choisir un séparateur pour séparer les valeurs combinées, voir capture d'écran:

doc renvoie plusieurs valeurs séparées par des virgules 5

5. Puis clique OK bouton, toutes les cellules correspondantes avec la même valeur ont été combinées dans une cellule séparée par une virgule, voir les captures d'écran:

doc renvoie plusieurs valeurs séparées par des virgules 6 2 doc renvoie plusieurs valeurs séparées par des virgules 7

Cliquez pour en savoir plus sur cet utilitaire Advanced Combine Rows…

Téléchargez et essayez gratuitement Kutools for Excel Now!


Démo: renvoyer plusieurs valeurs de recherche dans une cellule séparée par des virgules avec Kutools for Excel

Kutools pour Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jours. Téléchargez et essayez gratuitement maintenant!

Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (14)
Noté 5 hors 5 · évaluations 2
Ce commentaire a été minimisé par le modérateur sur le site
Tandis que je vais coller et enregistrer le module, un message contextuel apparaît indiquant une perte importante de fonctionnalité du vérificateur de compatibilité
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour ce message. Savez-vous comment je procéderais pour manipuler les deux nombres entiers distincts que cela crée. Par exemple, disons que la fonction '=SingleCellExtract' produit maintenant (1 , 2). Existe-t-il un moyen d'avoir une cellule à côté qui fait (1+.5 , 2+.5) ?
Ce commentaire a été minimisé par le modérateur sur le site
Cela fonctionne mais ralentit considérablement mon excel ! Des conseils pour accélérer ?
Ce commentaire a été minimisé par le modérateur sur le site
Cela ne fonctionne tout simplement pas. Je n'ai pas pu le faire fonctionner dans ma propre application, j'ai donc copié/collé le vba et la formule et il a renvoyé une erreur à chaque fois
Ce commentaire a été minimisé par le modérateur sur le site
merci, tout d'abord j'ai réussi à faire fonctionner cela sans ralentir les performances. J'utilise des valeurs plutôt que du texte, donc ma question est que je veux ramener tous ceux qui ont moins de 19 points dans une liste. L'extrait de cellule unique peut-il fonctionner pour cela ou doit-il être une valeur spécifique?
Ce commentaire a été minimisé par le modérateur sur le site
La commande VB s'interrompt lorsque la plage est supérieure à 154 lignes (c'est-à-dire : B154)....
Ce commentaire a été minimisé par le modérateur sur le site
Une erreur apparaît si vous augmentez la taille du tableau
Ce commentaire a été minimisé par le modérateur sur le site
Lorsque 2 critères correspondent, renvoient plusieurs valeurs de recherche dans une cellule séparée par des virgules
A2 = B2 puis résultat de la plage par "SingleCellExtract" - S'il vous plaît .......
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

le code VBA fonctionnait parfaitement avec ma feuille de calcul, assez clair et simple, cependant, j'essayais de trouver un moyen de dire à Excel de ne renvoyer que les valeurs uniques. Serait-ce possible avec ce même code ?
Ce commentaire a été minimisé par le modérateur sur le site
Hi,

Je veux un code de validation exact pour plusieurs valeurs séparées par une virgule et un espace pour chaque valeur.

Mise en situation :
Lucy, Tom, Nicol, Akash, Pomme

Veuillez rejouer si vous avez des suggestions.
Noté 4.5 hors 5
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Manikanta
Pour séparer les multiples valeurs par une virgule et un espace, il vous suffit d'ajouter un espace derrière la virgule, modifiez la formule comme ceci : =UniqueCelluleExtrait(D2,A2:B15,2,"", ").
S'il vous plaît essayez, j'espère que cela peut vous aider!
Ce commentaire a été minimisé par le modérateur sur le site
Salut Skyyang,

Merci pour votre rediffusion !

J'ai déjà essayé de la même manière, mais dans la dernière valeur de cellule, une virgule supplémentaire (,) ci-dessous est l'exemple.

Lucy, Tom, Nicol, Akash, Apple,

Cela ne fonctionnera pas pour le fichier Json, donc je veux des valeurs séparées par une virgule et un espace comme ci-dessous.

Lucy, Tom, Nicol, Akash, Pomme

Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Manikanta
Dans ce cas, vous pouvez appliquer la fonction définie par l'utilisateur ci-dessous :

Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant
Dim outcome As String
On Error Resume Next
If work_range.Count <> merge_range.Count Then
MultipleValues = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To work_range.Count
If work_range.Cells(i).Value = criteria Then
outcome = outcome & Separator & merge_range.Cells(i).Value
End If
Next i
If outcome <> "" Then
outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1)
End If
MultipleValues = outcome
Exit Function
End Function


Après avoir collé le code, veuillez utiliser cette formule : =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

S'il vous plaît essayez, j'espère que cela peut vous aider!
Si vous avez encore d'autres problèmes, veuillez commenter ici.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
Ce commentaire a été minimisé par le modérateur sur le site
Salut Skyyang,

Cela fonctionne maintenant, merci pour votre réponse rapide.

C'est très utile pour moi encore une fois Merci pour votre aide.

Salutations,
Manikanta.
Noté 5 hors 5
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés