Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

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.

2. Cliquez 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.

2. Cliquez 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ée...
  • 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 gammes...
  • 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 cellules...
  • 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 PDF...
  • 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
Say something here...
symbols left.
You are guest
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.
    Biplab Das · 1 years ago
    When 2 Criteria Match then Return Multiple Lookup Values In One Comma Separated Cell
    A2=B2 Then Result From Range by "SingleCellExtract" - Please.......
  • To post as a guest, your comment is unpublished.
    abhi · 1 years ago
    Error pops up if increase the array size

  • To post as a guest, your comment is unpublished.
    Js · 3 years ago
    VB command breaks when the range is longer than 154 rows (ie :B154)....
  • To post as a guest, your comment is unpublished.
    M Macklam · 3 years ago
    thank you, firstly i managed to get this to work without the slow down in performance. I'm using values rather that text so my question is i want to bring back all those with less than say 19 points in a list. Can the single cell Extract work for that or does it have to be a specific value?
  • To post as a guest, your comment is unpublished.
    A Ward · 4 years ago
    This simply does not work. I was unable to get it to work in my own application, so I copy/pasted the vba and the formula and it returned an error every time
  • To post as a guest, your comment is unpublished.
    K Ray · 4 years ago
    This works but slows down my excel majorly! Any tips to help speed?
  • To post as a guest, your comment is unpublished.
    Guest · 4 years ago
    Thanks for this post. Do you know how I would go about manipulating the two separate integers this is creating. For example, lets say that the '=SingleCellExtract' function now produces (1 , 2). Is there a way to have a cell next to it that does (1+.5 , 2+.5)?
  • To post as a guest, your comment is unpublished.
    GANGADHAR · 4 years ago
    WHile iam going to paste and save the module ,there is a pop-up message appears that significant loss of functionality compatibility checker