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

Comment renvoyer plusieurs valeurs correspondantes basées sur un ou plusieurs critères dans Excel?

Normalement, rechercher une valeur spécifique et renvoyer l'élément correspondant est facile pour la plupart d'entre nous en utilisant la fonction RECHERCHEV. Mais avez-vous déjà essayé de renvoyer plusieurs valeurs correspondantes en fonction d'un ou plusieurs critères comme illustré ci-dessous? Dans cet article, je présenterai quelques formules pour résoudre cette tâche complexe dans Excel.

Renvoie plusieurs valeurs correspondantes basées sur un ou plusieurs critères avec des formules matricielles


Renvoie plusieurs valeurs correspondantes basées sur un ou plusieurs critères avec des formules matricielles

Par exemple, je souhaite extraire tous les noms dont l'âge est de 28 ans et qui proviennent des États-Unis, veuillez appliquer la formule suivante:

1. Copiez ou entrez la formule ci-dessous dans une cellule vide où vous souhaitez localiser le résultat:

=INDEX($B$2:$B$11, SMALL(IF(COUNTIF($F$2, $C$2:$C$11)*COUNTIF($G$2, $D$2:$D$11), ROW($A$2:$D$11)-MIN(ROW($A$2:$D$11))+1), ROW(A1)), COLUMN(A1))

Notes: Dans la formule ci-dessus, B2: B11 est la colonne à partir de laquelle la valeur correspondante est renvoyée; F2, C2: C11 sont la première condition et les données de colonne qui contiennent la première condition; G2, D2: D11 sont la deuxième condition et les données de colonne qui contiennent cette condition, veuillez les modifier selon vos besoins.

2. Puis appuyez Ctrl + Maj + Entrée clés pour obtenir le premier résultat correspondant, puis sélectionnez la première cellule de formule et faites glisser la poignée de recopie vers les cellules jusqu'à ce que la valeur d'erreur s'affiche, maintenant, toutes les valeurs correspondantes sont renvoyées comme illustré ci-dessous:

Conseils: Si vous avez juste besoin de renvoyer toutes les valeurs correspondantes en fonction d'une condition, veuillez appliquer la formule de tableau ci-dessous:

=IFERROR(INDEX($B$2:$B$11, SMALL(IF($F$2=$D$2:$D$11, ROW($D$2:$D$11)-ROW($D$2)+1), ROW(1:1))),"" )


Articles plus relatifs:

  • 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?
  • Vlookup et renvoyer plusieurs valeurs correspondantes à la fois dans Google Sheet
  • La fonction Vlookup normale dans la feuille Google peut vous aider à trouver et à renvoyer la première valeur correspondante en fonction d'une donnée donnée. Mais, parfois, vous devrez peut-être vlookup et renvoyer toutes les valeurs correspondantes comme illustré ci-dessous. Avez-vous des moyens simples et efficaces de résoudre cette tâche dans la feuille Google?
  • 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 et renvoyer plusieurs valeurs verticalement dans Excel
  • 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 les données correspondantes entre deux valeurs dans Excel
  • Dans Excel, nous pouvons appliquer la fonction Vlookup normale pour obtenir la valeur correspondante en fonction d'une donnée donnée. Mais, parfois, nous voulons vlookup et renvoyer la valeur correspondante entre deux valeurs comme le montre la capture d'écran suivante, comment pourriez-vous gérer cette tâche dans Excel?

 


  • 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 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 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 ...
  • 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 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
  • 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 nomplus
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

 

Commentaires (23)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
J'ai essayé exactement la même formule; copié à 100%. La seule chose que j'ai changée, ce sont les données mises en correspondance et renvoyées. Lorsque j'utilise cette formule, Excel indique "Vous avez entré trop d'arguments pour cette fonction".=INDEX('2020 Volume Report'!$B$3:$B$100,SMALL(IF(COUNTIF($A$1,'2020 Volume Rapport'!$A$3:$A$100)*COUNTIF($A$3,'Rapport de volume 2020'!$D$3:$D$100),ROW('Rapport de volume 2020'!$A$3:$G$100)- MIN(ROW('2020 Volume Report' !$A$3:$G$100))+1,"0"),ROW(A1),COLUMN(A1))
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Pourriez-vous donner vos données et votre erreur de formule sous forme d'écran ici ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, comment je peux l'utiliser pour la condition horizontale.
Ce commentaire a été minimisé par le modérateur sur le site
Quel est le "0" après le +1 dans la formule ? Ce n'est pas dans l'exemple.
Ce commentaire a été minimisé par le modérateur sur le site
Salut, j'avais essayé la même formule. j'obtiens un résultat, mais lorsque je donne le CSE, il ne fournit aucune réponse multiple
Ce commentaire a été minimisé par le modérateur sur le site

Ce commentaire a été minimisé par le modérateur sur le site
Concernant le retour de plusieurs valeurs correspondantes basées sur un ou plusieurs critères avec des formules matricielles : pourquoi est-ce que si j'ai les données ailleurs qu'à partir de A1, cela ne fonctionne pas même si je mets à jour toutes les références de cellule dans la formule ?
Ce commentaire a été minimisé par le modérateur sur le site
Dans le premier exemple, quelle modification de la formule serait nécessaire pour renvoyer toutes les personnes âgées de moins de 28 ans ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

Je me demandais s'il était possible d'entrer un 2ème critère mais de la même gamme que le 1er critère,

Par exemple, avec l'exemple utilisé ci-dessus, je voudrais rechercher les noms de personnes d'Amérique et de France Ainsi, la cellule F3 aurait la France, Scarlett et Andrew rempliraient également la liste dans la colonne G

Merci d'avance pour votre aide.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Nick,

Heureux de vous aider. Si vous souhaitez obtenir les noms de personnes à la fois américaines et françaises, je vous conseille d'utiliser notre formule deux fois pour obtenir le résultat. S'il vous plaît voir la capture d'écran, Dans F2 et G2 sont les valeurs "États-Unis" et "France". Appliquer la formule =SIERREUR(INDEX($B$2:$B$11, PETIT(SI($F$2=$D$2:$D$11, LIGNE($D$2:$D$11)-LIGNE($D$2)+1 ), ROW(1:1))),"" ) pour obtenir les résultats pour l'Amérique. Et appliquer la formule =IFERREUR(INDEX($B$2:$B$11, SMALL(IF($G$2=$D$2:$D$11, ROW($D$2:$D$11)-ROW($D$2)+ 1), ROW(1:1))),"" ) pour obtenir les résultats pour la France. C'est simple. Veuillez essayer.

Sincèrement,
Mandy
Ce commentaire a été minimisé par le modérateur sur le site
Lorsque j'utilise la deuxième formule et que je fais glisser vers le bas, rien n'apparaît. Le résultat de la formule (fx) indique qu'il devrait renvoyer quelque chose, mais il est vide. Comment puis-je corriger cela ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Alysia,

Heureux de vous aider. J'ai essayé la deuxième formule de l'article et fait glisser la formule vers le bas, le reste des résultats a été renvoyé. Je pense qu'il peut y avoir deux raisons à ton problème. Tout d'abord, vous avez peut-être oublié d'appuyer sur les touches Ctrl + Maj + Entrée pour saisir la formule. Deuxièmement, le résultat correspondant est un seul, donc aucun autre résultat n'est renvoyé. Veuillez avoir un chèque.

Sincèrement,
Mandy
Ce commentaire a été minimisé par le modérateur sur le site
Salut,
J'ai essayé d'utiliser la formule et elle génère soit une valeur de 0, soit l'image jointe
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Milku
Votre capture d'écran montrait le logiciel WPS de la version MAC, donc je ne sais pas si notre formule est disponible.
J'ai téléchargé un fichier Excel ici, vous pouvez essayer de voir s'il peut calculer correctement dans votre environnement.
Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
ce qui serait nécessaire pour développer la première formule dans le cas suivant :
Certains identifiants sont vides (par exemple, la cellule A5 est vide) et je souhaite une condition supplémentaire ne produisant des lignes que lorsque les identifiants ne sont pas vides. (Donc, la sortie devrait alors être James et Abdul.
Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Jo,
Pour résoudre votre problème, veuillez appliquer la formule ci-dessous :
=INDEX($B$2:$B$11, SMALL(IF(COUNTIF($F$2, $C$2:$C$11)*COUNTIF($G$2, $D$2:$D$11)*($A$2:$A$11<>0), ROW($A$2:$D$11)-MIN(ROW($A$2:$D$11))+1), ROW(A1)), COLUMN(A1))

S'il vous plaît avoir un ry, j'espère que cela peut vous aider!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

si dans la cellule H1 j'écris "Nom" et que je voulais le lier à la formule, comment cela fonctionnerait-il ?
Ensuite, je pourrais écrire "ID" dans la cellule H1 et j'obtiendrais automatiquement comme résultat : AA1004 ; DD1009 ; PP1023 (pour la première formule)

Je vous remercie à l'avance!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Marie
Désolé, je ne comprends pas le sens de votre premier problème, pourriez-vous expliquer votre problème plus clairement et plus en détail ? Ou vous pouvez insérer une capture d'écran ici pour décrire votre problème.
Quant à la deuxième question, il vous suffit de changer la référence de la cellule comme suit :
=INDEX($A$2:$A$11, SMALL(IF(COUNTIF($F$2, $C$2:$C$11)*COUNTIF($G$2, $D$2:$D$11), ROW($A$2:$D$11)-MIN(ROW($A$2:$D$11))+1), ROW(A1)), COLUMN(A1))

N'oubliez pas d'appuyer Ctrl + Maj + Entrée clés ensemble.
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
Heyi, merci pour la formule. Cela a fonctionné pour des valeurs/textes "fixes" comme critères. Cependant, l'un des critères que j'essaie d'utiliser est une condition (valeurs <>0 ), mais ne fonctionne pas avec la formule décrite. Savez-vous ce que je dois changer pour adapter la formule afin que je puisse avoir une condition comme l'un des critères, s'il vous plaît ?

Bien cordialement,

João
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Marcus
Pour résoudre votre problème, veuillez consulter cet article :
https://www.extendoffice.com/documents/excel/6393-excel-vlookup-function.html#b3-2
Il y a quelques explications détaillées de cette tâche. Vous avez juste besoin de changer les critères pour les vôtres.
Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

Tout d'abord, merci pour le partage !

Pouvez-vous s'il vous plaît fournir une solution au cas ci-dessous:

J'ai 3 colonnes (A : Contenant les informations de référence, B : Contenant les informations à rechercher, C : Résultat de la recherche)

L'URL de l'image est fournie ci-dessous

https://ibb.co/VHCd09K

Colonne A--------------------Colonne B--------------------Colonne C
Nom de fichier-------------------------Nom----------------Nom de fichier, nom de document, Nom de l'élément, Nom
Élément modifié------------Élément-------------Élément modifié, Nom de l'élément, ID de l'élément
Emplacement de la colonne
Nom du document
Nom de l'élément
Nom
Catégories
Garantie
pente
ID d'élément

Ce dont j'ai besoin est de rechercher dans la colonne A toute correspondance partielle avec la cellule B2 (Nom) ou B3 (Élément) et d'obtenir le résultat dans une cellule,

Merci Behzad
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Behzad
Peut-être que la fonction définie par l'utilisateur ci-dessous peut vous aider.
Public Function ConcatPartLookUp(rngInput As Range, rngSource As Range, Optional strDelimiter As String, Optional blCaseSensitive)
Dim rng As Range
If strDelimiter = "" Then strDelimiter = ","
If IsMissing(blCaseSensitive) Then
    blCaseSensitive = False
Else
    blCaseSensitive = True
End If
For Each rng In rngSource
    If blCaseSensitive Then
        If InStr(1, rng.Value, rngInput.Value, vbBinaryCompare) > 0 Then ConcatPartLookUp = ConcatPartLookUp & strDelimiter & rng.Value
    Else
        If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ConcatPartLookUp = ConcatPartLookUp & strDelimiter & rng.Value
    End If
Next
If Len(ConcatPartLookUp) > 0 Then ConcatPartLookUp = Mid(ConcatPartLookUp, 2, Len(ConcatPartLookUp))
End Function


Après avoir copié et collé ce code, puis utilisez cette formule :=ConcatPartRecherche(B2,$A$2:$A$8) pour obtenir le résultat dont vous avez besoin.
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
Bonjour,

Merci d'avoir posté ces exemples.
J'essaie de l'implémenter dans ma propre feuille, mais je ne le fais pas fonctionner (peut-être parce que j'utilise une version européenne d'Excel) ?

Je veux obtenir les dates des jours où j'ai eu mes quarts de travail ou que j'ai travaillé 'quelques' (>0) heures pour un client.

Donc en I3 se trouve le nom et en J3 le mois. K3 et L3 sont les quarts (1 est travaillé) et les heures (je ne sais pas comment régler cela, devrait être supérieur à zéro)

Mes résultats attendus sont dans :
Décalages : I7 et I8
heures : J7

J'ai donc travaillé plus de 0 heures pour la 'personne 2' en octobre le 3-10-2022
avait des quarts de travail pour la personne 2 le '10-10-2022' et le 28-10-2022

Lorsque j'ajoute '=INDEX($B$2:$B$11, SMALL(IF(COUNTIF($F$2, $C$2:$C$11)*COUNTIF($G$2, $D$2:$D$11), ROW ($A$2:$D$11)-MIN(ROW($A$2:$D$11))+1), ROW(A1)), COLUMN(A1))' dans ma feuille Excel, il ne permet pas le virgule entre les différentes parties de la formule.
Je dois donc les changer en ';'.
Mais quand je l'essaie, il dit toujours : "#NOM ?"

Alors quelqu'un peut-il m'aider avec ça?

Cordialement,

Bas
[img]https://drive.google.com/file/d/1iIPQKuj_PNhqWyWlwJ4IQTqGNEd6B9Hw/view?usp=share_link[/img]
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

Nous suivre

Copyright © 2009 - www.extendoffice.com. | Tous les droits sont réservés. Alimenté par ExtendOffice. | | Plan du site
Microsoft et le logo Office sont des marques commerciales ou des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.
Protégé par Sectigo SSL