Passer au contenu principal

Vlookup et renvoie plusieurs valeurs basées sur un ou plusieurs critères

Normalement, vous pouvez utiliser la fonction Vlookup pour obtenir la première valeur correspondante, mais, parfois, vous souhaitez renvoyer tous les enregistrements correspondants en fonction d'un critère spécifique. Cet article, je vais parler de la façon de vlookup et de renvoyer toutes les valeurs correspondantes verticalement, horizontalement ou dans une seule cellule.

Vlookup et renvoyer toutes les valeurs correspondantes verticalement

Vlookup et renvoyer toutes les valeurs correspondantes horizontalement

Vlookup et renvoyer toutes les valeurs correspondantes dans une cellule


Vlookup et renvoyer toutes les valeurs correspondantes verticalement

Pour renvoyer toutes les valeurs correspondantes verticalement en fonction d'un critère spécifique, veuillez appliquer la formule matricielle suivante:

1. Entrez ou copiez cette formule dans une cellule vide où vous souhaitez afficher le résultat:

=IFERROR(INDEX($C$2:$C$20, SMALL(IF($E$2=$A$2:$A$20, ROW($A$2:$A$20)-ROW($A$2)+1), ROW(1:1))),"" )

Notes: Dans la formule ci-dessus, C2:C20 La colonne contient-elle l'enregistrement correspondant que vous souhaitez renvoyer; A2: A20 la colonne contient-elle le critère; et E2 est le critère spécifique sur lequel vous souhaitez renvoyer des valeurs. Veuillez les modifier selon vos besoins.

2. Puis appuyez Ctrl + Maj + Entrée clés ensemble pour obtenir la première valeur, puis faites glisser la poignée de remplissage vers le bas pour obtenir tous les enregistrements correspondants selon vos besoins, voir capture d'écran:

Conseils:

Pour Vlookup et renvoyer toutes les valeurs correspondantes basées sur des valeurs plus spécifiques verticalement, veuillez appliquer la formule ci-dessous et appuyez sur Ctrl + Maj + Entrée clés.

=IFERROR(INDEX($C$2:$C$20, SMALL(IF(1=((--($E$2=$A$2:$A$20))*(--($F$2=$B$2:$B$20))), ROW($A$2:$A$20)-ROW($A$2)+1), ROW(1:1))),"" )


Vlookup et renvoyer toutes les valeurs correspondantes horizontalement

Si vous souhaitez afficher les valeurs correspondantes dans l'ordre horizontal, la formule matricielle ci-dessous peut vous aider.

1. Entrez ou copiez cette formule dans une cellule vide où vous souhaitez afficher le résultat:

=IFERROR(INDEX($C$2:$C$20,SMALL(IF($F$1=$A$2:$A$20,ROW($A$2:$A$20)-ROW($A$2)+1),COLUMN(A1))),"")

Notes: Dans la formule ci-dessus, C2: C20 La colonne contient-elle l'enregistrement correspondant que vous souhaitez renvoyer; A2: A20 la colonne contient-elle le critère; et F1 est le critère spécifique sur lequel vous souhaitez renvoyer des valeurs. Veuillez les modifier selon vos besoins.

2. Puis appuyez Ctrl + Maj + Entrée clés ensemble pour obtenir la première valeur, puis faites glisser la poignée de remplissage vers la droite pour obtenir tous les enregistrements correspondants selon vos besoins, voir capture d'écran:

Conseils:

Pour Vlookup et renvoyer toutes les valeurs correspondantes basées sur des valeurs plus spécifiques horizontalement, veuillez appliquer la formule ci-dessous et appuyez sur Ctrl + Maj + Entrée clés.

=IFERROR(INDEX($C$2:$C$20,SMALL(IF(1=((--($F$1=$A$2:$A$20))*(--($F$2=$B$2:$B$20))),ROW($A$2:$A$20)-ROW($A$2)+1),COLUMN(A1))),"")


Vlookup et renvoyer toutes les valeurs correspondantes dans une cellule

Pour rechercher et renvoyer toutes les valeurs correspondantes dans une seule cellule, vous devez appliquer la formule matricielle suivante.

1. Entrez ou copiez la formule ci-dessous dans une cellule vide:

=TEXTJOIN(", ",TRUE,IF($A$2:$A$20=F1,$C$2:$C$20,""))

Notes: Dans la formule ci-dessus, C2: C20 La colonne contient-elle l'enregistrement correspondant que vous souhaitez renvoyer; A2: A20 la colonne contient-elle le critère; et F1 est le critère spécifique sur lequel vous souhaitez renvoyer des valeurs. Veuillez les modifier selon vos besoins.

2. Puis appuyez Ctrl + Maj + Entrée clés ensemble pour obtenir toutes les valeurs correspondantes dans une seule cellule, voir capture d'écran:

Conseils:

Pour Vlookup et renvoyer toutes les valeurs correspondantes en fonction de valeurs plus spécifiques dans une seule cellule, veuillez appliquer la formule ci-dessous et appuyez sur Ctrl + Maj + Entrée clés.

=TEXTJOIN(", ",TRUE,IF(($A$2:$A$20=F1)*($B$2:$B$20=F2),$C$2:$C$20,""))

Remarque: Cette formule ne s'est appliquée avec succès que dans Excel 2016 et les versions ultérieures. Si vous n'avez pas Excel 2016, veuillez consulter ici pour le faire descendre.

Articles Vlookup plus relatifs:

  • Vlookup et renvoyer plusieurs valeurs à partir de la liste déroulante
  • Dans Excel, comment pouvez-vous rechercher et renvoyer plusieurs valeurs correspondantes à partir d'une liste déroulante, ce qui signifie que lorsque vous choisissez un élément dans la liste déroulante, toutes ses valeurs relatives sont affichées en même temps comme la capture d'écran suivante. Cet article, je vais vous présenter la solution étape par étape.
  • Vlookup pour renvoyer vide au lieu de 0 ou N / A dans Excel
  • Normalement, lorsque vous appliquez la fonction vlookup pour renvoyer la valeur correspondante, si votre cellule correspondante est vide, elle renverra 0, et si votre valeur correspondante n'est pas trouvée, vous obtiendrez une valeur d'erreur # N / A. Au lieu d'afficher la valeur 0 ou # N / A, comment pouvez-vous lui faire afficher une cellule vide?
  • Vlookup pour renvoyer plusieurs colonnes à partir d'un tableau Excel
  • Dans la feuille de calcul Excel, vous pouvez appliquer la fonction Vlookup pour renvoyer la valeur correspondante à partir d'une colonne. Mais, parfois, vous devrez peut-être extraire les valeurs correspondantes de plusieurs colonnes comme illustré ci-dessous. Comment pouvez-vous obtenir les valeurs correspondantes en même temps à partir de plusieurs colonnes en utilisant la fonction Vlookup?
  • Valeurs Vlookup sur plusieurs feuilles de calcul
  • Dans Excel, nous pouvons facilement appliquer la fonction vlookup pour renvoyer les valeurs correspondantes dans une seule table d'une feuille de calcul. Mais, avez-vous déjà envisagé comment vlookup de la valeur sur plusieurs feuilles de calcul? Supposons que je dispose des trois feuilles de calcul suivantes avec une plage de données et que je souhaite maintenant obtenir une partie des valeurs correspondantes en fonction des critères de ces trois feuilles de calcul.

  • 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 et conservation des données; Contenu des cellules divisées; Combiner les lignes en double et la somme / moyenne... 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 ...
  • Formules favorites et insérer rapidement, Plages, graphiques et images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • 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
  • Regroupement du tableau croisé dynamique par numéro de semaine, jour de la semaine et plus encore ... Afficher les cellules déverrouillées et verrouillées par différentes couleurs; Mettre en évidence les cellules qui ont une formule / un nom
onglet kte 201905
  • 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
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
gents

would you please share with me the formula of the three ways but for data in horizontal table.
This comment was minimized by the moderator on the site
Hello, Ahmed,
To solve your problem, please apply the below formulas:
Get the results vertically: =IFERROR(INDEX($B$2:$K$2, SMALL(IF($A$5=$B$1:$K$1, COLUMN($B$1:$K$1:$K$1)-COLUMN($B$1)+1), ROW(1:1))),"" )
Get the results horizontally: =IFERROR(INDEX($B$2:$K$2, SMALL(IF($D$5=$B$1:$K$1, COLUMN($B$1:$K$1:$K$1)-COLUMN($B$1)+1), COLUMN(A1))),"" )
Ge the results in one cell: =TEXTJOIN(", ",TRUE,IF($B$1:$K$1=J5,$B$2:$K$2,""))
Note: These formulas are array formulas, you should press Ctrl + Shift + Enter keys together to get the correct result.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-vlookup-data.png

Pease try, hope this can help you!
This comment was minimized by the moderator on the site
thanks for your greet support and quick response
This comment was minimized by the moderator on the site
how do u get all rows to fill up like in yr video without pressing ctrl+shift+enter
This comment was minimized by the moderator on the site
After I extend the data, some of the cells is showing a "0" instead of blank
This comment was minimized by the moderator on the site
It means that there is missing data or the wrong type of data in the cell(s) from the column that is being referrenced. For instance, Im working with a bunch of data and I want all ID numbers for workers under a certain supervisor. However, in the table column being referenced with all workers' ID numbers, some cells had the workers last name in it and not their ID numbers. Those exact cells produced 0s when the entire formula was put in, and this is because it was text within a column that is mostly numbers.
This comment was minimized by the moderator on the site
How can you tweak the formula so that you have multiple outputs in column D? E.g. I want to populate column D with each of the countries, such that all of their respective cities will be returned in E? The only work around I have can see is manually changing $D$2
This comment was minimized by the moderator on the site
Thank you very much, you save lots of work here!





Regarding your formula {=TEXTJOIN(", ",TRUE,IF($A$2:$A$15=D2,$B$2:$B$15,"")},

I changed a little : (=TEXTJOIN(CHAR(10),TRUE,IF($A$2:$A$15=D2,$B$2:$B$15,""))}





Regards,



Jeff
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations