Table des matières
Lorsque vous travaillez avec de grandes quantités de données dans Excel, vous pouvez parfois vous trouver dans une situation où vous devez rechercher des valeurs qui apparaissent plusieurs fois dans votre ensemble de données. Vous devez donc voir ces données dans une seule cellule. Dans ce tutoriel, nous allons vous montrer comment utiliser VLOOKUP pour plusieurs valeurs dans une cellule dans Excel.
D'une manière générale, nous n'utilisons pas directement le VLOOKUP Nous allons trouver plusieurs valeurs dans une cellule, comme avec la fonction VLOOKUP. Nous espérons que ce tutoriel vous sera utile.
Télécharger le cahier d'exercices
Vlookup Plusieurs valeurs dans une cellule.xlsm2 méthodes faciles pour Vlookup pour plusieurs valeurs dans une cellule
Nous allons maintenant vous montrer deux façons de rechercher plusieurs valeurs dans une cellule d'Excel, la première étant d'utiliser la fonction de recherche de valeurs. Formules et la seconde utilise le VBA Nous allons examiner les valeurs répétées et non répétées dans cet article. Vous pouvez donc choisir la méthode la mieux adaptée à votre problème.
Pour démontrer ce problème, nous allons utiliser le jeu de données suivant :
Ici, nous avons des vendeurs Noms et leur vente Produits Maintenant, notre objectif est de trouver les produits de vente de chaque vendeur.
1. utilisation de formules pour Vlookup plusieurs valeurs dans une cellule dans Excel
Le site TEXTJOIN sera notre fonction de référence pour implémenter cette méthode. La fonction TEXTJOIN vous permet de joindre 2 chaînes de caractères ou plus, chaque valeur étant séparée par un signe délimiteur Principalement, nous combinons différentes fonctions avec la fonction TEXTJOIN pour mettre en œuvre notre formule.
Le site TEXTJOIN est uniquement disponible pour Excel 2019 et Office 365.La syntaxe de base de la fonction TEXTJOIN :
=TEXTJOIN(délimiteur, ignore_empty, texte1, [texte2], ...)
Ici, notre délimiteur sera une virgule ( ","
) pour séparer les valeurs dans une même cellule.
1.1 Les fonctions TEXTJOIN et IF
Cette formule est assez facile à utiliser. Elle recherche les valeurs et les insère dans une cellule avec un délimiteur, la virgule. Mais n'oubliez pas que cette formule renvoie la valeur avec des doublons.
La syntaxe de base :
=TEXTJOIN(", ",TRUE,IF(lookup_value=lookup_range,,finding_range,""))
📌 Étapes
1. d'abord, tapez la formule suivante dans Cellule F5 :
=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
2. puis, appuyez sur Entrez.
3. enfin, faites glisser le Poignée de remplissage sur la plage de cellules F6:F7 .
Au final, nous réussissons à utiliser VLOOKUP plusieurs valeurs dans une même cellule.
🔎 Répartition de la formule
Nous utilisons cette répartition uniquement pour la personne "John".
➤ IF(E5=B5:B13,C5:C13,"")
Cette fonction renvoie le tableau suivant :
{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
Enfin, le TEXTJOIN renverra le résultat suivant :
{Mobile, TV, Frigo, Mobile}
Lire la suite : Excel VLOOKUP pour renvoyer plusieurs valeurs dans une même cellule, séparées par une virgule
1.2 Les fonctions TEXTJOIN et MATCH (sans doublons)
Maintenant, si vous voulez plusieurs valeurs dans une seule cellule, vous pouvez utiliser cette formule. Cette formule est une combinaison de la formule TEXTJOIN et MATCH Cette formule est un peu complexe à utiliser mais elle vous donnera certainement les valeurs souhaitées.
📌 ÉTAPES
1. d'abord, tapez la formule suivante dans Cellule F5 :
=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))
2. puis, appuyez sur Entrez.
3. enfin, faites glisser le Poignée de remplissage sur la plage de cellules F6:F7 .
Au final, nous réussissons à utiliser VLOOKUP plusieurs valeurs dans une même cellule sans qu'il y ait de doublons.
🔎 Répartition de la formule
Nous utilisons cette répartition uniquement pour la personne "John".
➤ ROW(C5:C13)
Il renvoie un tableau de {5;6;7;8;9;10;11;12;13}
➤ MATCH(ROW(C5:C13), ROW(C5:C13))
Il revient : {1;2;3;4;5;6;7;8;9}
➤ IF(E5=B5:B13, C5:C13, "")
Il revient : {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")
Cette fonction renvoie : {8;8;7;9;7;7;7;8;7}
➤ IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")
Il revient : {1;1;"";4;"";6;"";1;""}
➤ IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")
Il revient : {"Mobile";"";"";"TV";"";"Fridge";"";"";""}
➤ TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0), "")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))
Le résultat final sera Mobile, TV, Réfrigérateur .
Lire la suite : Comment effectuer un VLOOKUP avec plusieurs lignes dans Excel (5 méthodes)
1.3 Les fonctions TEXTJOIN et UNIQUE (sans doublons)
Maintenant, le UNIQUE n'est disponible que dans Excel 365. Donc, si vous utilisez Excel 365, vous pouvez certainement utiliser cette formule. La formule précédente est un peu difficile mais cette formule facilitera la recherche de valeurs dans une cellule. La fonction UNIQUE renvoie une liste de valeurs uniques dans une liste ou une plage. Maintenant, la différence entre la première et la troisième formule est d'utiliser la fonction UNIQUE avant la fonction SI fonction.
La syntaxe de base de la fonction UNIQUE :
=UNIQUE (tableau, [by_col], [exactly_once])
tableau - Plage ou tableau à partir duquel extraire les valeurs uniques.
par_col - Par ligne = FALSE (par défaut) ; par colonne = TRUE.
exactement_une fois - [facultatif] VRAI = valeurs qui n'apparaissent qu'une fois, FAUX = toutes les valeurs uniques (par défaut).
📌 ÉTAPES
1. d'abord, tapez la formule suivante dans Cellule F5 :
=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,""))))
2. puis, appuyez sur Entrez.
3. enfin, faites glisser le Poignée de remplissage sur la plage de cellules F6:F7.
Comme vous pouvez le voir, nous avons utilisé avec succès VLOOKUP plusieurs valeurs dans une même cellule.
🔎 Répartition de la formule
Nous utilisons cette répartition uniquement pour la personne "John".
➤ IF(E5=B5:B13,C5:C13,"")
Il retourne {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))
Il retourne {"Mobile";"";"TV";"Fridge"}
➤ TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,""))))
Résultat final Mobile, TV, réfrigérateur
Lire la suite : Comment faire un Vlookup et renvoyer plusieurs valeurs dans une liste déroulante ?
2. utilisation des codes VBA pour Vlookup plusieurs valeurs dans une cellule
Le site TEXTJOIN est uniquement disponible pour MS Excel 2019 et MS Excel 365 Donc, si vous connaissez bien les codes VBA d'Excel, ces deux codes seront très pratiques pour vous. Le premier sera avec les doublons et le second sera sans les doublons. Donc, choisissez votre méthode en fonction de votre problème.
2.1 VBA code plusieurs valeurs dans une cellule
📌 ÉTAPES
1. Premièrement. Appuyez sur Alt+F11 pour ouvrir l'éditeur Visual Basic.
2. puis, cliquez sur Insérer> ; Module .
3) Ensuite, tapez le code suivant :
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
4. allez dans votre feuille de calcul et tapez la formule suivante Cellule F5 :
=MultiplesValeurs(B5:B13,E5,C5:C13,",")
5. puis, appuyez sur ENTER.
Enfin, faites glisser l'icône de la poignée de remplissage sur la plage de cellules. F6:F7.
Au final, nous avons utilisé VLOOKUP plusieurs valeurs dans une même cellule .
Lire la suite : VLOOKUP pour renvoyer plusieurs valeurs horizontalement dans Excel
2.2 Codes VBA pour rechercher plusieurs valeurs dans une cellule (sans doublons)
📌 ÉTAPES
1. Premièrement. Appuyez sur Alt+F11 pour ouvrir l'éditeur Visual Basic.
2. puis, cliquez sur Insérer> ; Module .
3) Ensuite, tapez le code suivant :
Function ValuesNoDup(target As String, search_range As Range, ColumnNumber As Integer) Dim i As Long Dim outcome As String For i = 1 To search_range.Columns(1).Cells.Count If search_range.Cells(i, 1) = target Then For J = 1 To i - 1 If search_range.Cells(J, 1) = target Then If search_range.Cells(J, ColumnNumber) = search_range.Cells(i, ColumnNumber) Then GoTo Skip End If End If Next J outcome =outcome & ; " " & ; search_range.Cells(i, ColumnNumber) & ; "," Skip : End If Next i ValuesNoDup = Left(outcome, Len(outcome) - 1) End Function
4. après avoir inséré le code, cliquez ensuite sur Outils> ; Références dans la fenêtre ouverte de Microsoft Visual Basic pour Applications, et ensuite, dans la fenêtre ouverte de Références - dans la boîte de dialogue VBAProject, cochez l'option Microsoft Scripting Runtime dans l'option Références disponibles Cliquez sur OK .
5. allez maintenant dans votre feuille de calcul, puis tapez la formule suivante dans Cellule F5 :
=ValuesNoDup(E5,B5:B13,2)
Ici, 2 est le numéro de colonne de l'ensemble de données.
6. puis, appuyez sur Entrez .
7. enfin, faites glisser le Poignée de remplissage sur la plage de cellules F6:F7.
Comme vous pouvez le voir, nous avons utilisé VLOOKUP plusieurs valeurs dans une même cellule sans doublons.
Lire la suite : Comment faire un VLOOKUP et renvoyer plusieurs valeurs dans Excel (8 méthodes)
Conclusion
Pour conclure, j'espère que ce tutoriel vous aidera à vlookup plusieurs valeurs dans une même cellule dans Excel. Téléchargez le cahier d'exercices et essayez-les vous-même. Vous développerez certainement vos connaissances d'Excel. N'hésitez pas non plus à nous faire part de vos commentaires dans la section réservée à cet effet. Vos précieux commentaires nous motivent à créer de nombreux articles comme celui-ci. N'oubliez pas de consulter notre site Internet ExcelWIKI pour les problèmes et solutions liés à Excel.