Comment retourner plusieurs valeurs à partir d'une seule valeur de recherche.
- Ne pas utiliser la fonction RECHERCHEV
La première fonction qui vient en tête quand on fait des recherches dans Excel c'est la fonction RECHERCHEV. Mais cette fonction retourne une et une seule valeur.
- Utiliser la fonction FILTRE
La fonction FILTRE d'Excel 365 permet de renvoyer 0, 1, 2, ...; n lignes. Autant que la condition indiquée comme paramètre renvoie VRAI.
Découvrez comment retourner plusieurs valeurs à partir d'une même donnée de recherche.
Ne pas utiliser la fonction RECHERCHEV ⛔
Dans Excel, pour effectuer des recherches dans un tableau, on pense immédiatement à la fonction RECHERCHEV (ou RECHERCHEX)
Seulement, la fonction RECHERCHEV retournera toujours UNE SEULE valeur correspondant à l'identifiant recherché. Donc, si pour une valeur donnée, vous avez plusieurs résultats, vous perdrez de l'information.
Situation pour retourner plusieurs valeurs
Dans l'exemple suivant, un client a passé plusieurs commandes. Quelle fonction utiliser pour retourner TOUS CES résultats.
Pour retourner plusieurs résultats, ce n'est donc pas la fonction RECHERCHEV qu'il faut utiliser mais la fonction FILTRE.
Les fonctions matricielles dynamiques
Le seul moyen pour retourner plusieurs valeurs, il faut passer par l'une des fonctions matricielles dynamiques d'Excel. Seuls les possesseurs de la version d'Excel avec Office 365, Excel Online ou Excel 2019 peuvent travailler avec les fonctions matricielles dynamiques.
Ces fonctions s'adaptent aux résultats à retourner. C'est à dire que si le résultat de vos fonctions retournent plus d'une valeur, les fonctions vont automatiquement retourner toutes les valeurs du résultat.
La fonction FILTRE
Parmi les fonctions matricielles dynamiques, la fonction FILTRE va parfaitement s'adapter pour faire une recherche sur plusieurs valeurs.
Nous avons un document qui comporte toutes les commandes passées par nos clients. Nous voulons connaître pour un client particulier toutes les dates où il a effectué une commande.
Il suffit d'indiquer
- En premier paramètre la colonne qui contient les données à retourner (dans notre exemple, les dates)
- En second paramètre, la règle de filtrage de la colonne des noms de clients avec la valeur à rechercher
La fonction s'écrit alors
=FILTRE(B2:B18;A2:A18=D2)
Prenons maintenant un autre exemple avec le Client3.
Cette fois-ci, la fonction va retourner 5 résultats et non plus 2 comme avec le Client1.
Essayez par vous même dans ce classeur de changer le nom du client avec le menu déroulant et voir les résultats changer
Trier les données dynamiquement
Pour retourner les valeurs trier par ordre croissant automatiquement, il suffit d'insérer la précédente fonction dans la fonction TRIER.
=TRIER(FILTRE(B2:B18;A2:A18=D2))
Vidéo tutorielle
Regardez la vidéo suivante qui vous explique cette nouvelle fonction
Fanny WERY
21/04/2023 @ 08:54
Bonjour,
Merci pour ces explications.
Est-il possible, lorsque nous obtenons plusieurs résultats à la recherche, d'afficher une liste déroulante de tous ces résultats pour pouvoir n'en choisir qu'un seul ?
Concrètement, je réalise un tableau dans lequel je dois noter le matériel laissé dans plusieurs établissements. Chaque établissement a un code. J'ai fait une recherche V afin que, lorsque je note le code, l'établissement se complète automatiquement mais il arrive qu'un établissement ait plusieurs services (mais ils ont le même code car même établissement). Je voudrais donc pourvoir avoir une listé déroulante lorsqu'il y a plusieurs services afin de pouvoir simplement le sélectionner et compléter le reste de mon tableau.
J'espère que vous pourrez m'aider,
Bien cordialement,
SunBen
04/09/2022 @ 09:00
Mille merci pour ce tuto, vous venez de me faire gagner un temps précieux !!
Bien à vous.
Bernard
22/09/2021 @ 11:29
Bonjour,
Je ne sais pas si je post au bon endroit, mais je cherche une formule qui permet de remplir des cellule en fonction de plusieurs critères.
Nom : Client 1
Période de congé : 03/01/2022 au 07/01/2022
La formule doit remplir des cellules dans une feuille appelée Janvier.
Les cellules sont les jours
A noter qu'il peut y avoir plusieurs périodes de congés le même mois
Merci d'avance pour votre aide
Lisa
29/07/2021 @ 10:25
Bonjour,
J'aimerais avoir les résultats de Filtre dans la même cellule, est-ce possible ?
Merci
Frédéric LE GUEN
29/07/2021 @ 10:33
Il faut inclure la fonction FILTRE avec la fonction TABLEAU.EN.TEXTE =TABLEAU.EN.TEXTE(FILTRE(Table1[col2],Table1[col1]="a"))
Brice
04/08/2021 @ 14:32
Hello, je suis tombé sur votre tuto qui m'a beaucoup aidé (Merci).
Par contre, la fonction TABLEAU.EN.TEXTE est inconnue chez moi.
Je suis parvenu à me débrouiller en utilisant : =JOINDRE.TEXTE(";";VRAI;FILTRE(mes_conditions))
Ça m'a permis de séparer par un ";" les valeurs retournés dans le tableau de Filtre.
Cordialement.
Frédéric LE GUEN
04/08/2021 @ 17:15
En fait, je travaille avec une version ultra-récente (c'est ce que l'on appelle Insider). En mode Insider, une fois que les nouveautés sont chargées, il est impossible de savoir si telle ou telle fonctionnalité est présente seulement pour les Insiders ou pour tous. Bon, en tout cas, la fonction existe mais elle arrivera dans qques temps dans votre version
Marion
11/04/2022 @ 10:25
Bonjour,
J'aimerais savoir si c'est possible d'utiliser cette formule avec 2 conditions.
Merci d'avance.
Christina
25/03/2021 @ 10:28
Bonjour
Je cherche une formule qui me permettra de trouver une donnée dans un intervalle de jours bien défini; et cette valeur existe sur une autre feuille à des jours différents.
Quelle formule puis-je utiliser?
Merci d'avance
ABK Laila
09/02/2021 @ 13:42
Bonjour,
Je dispose d'un fichier Excel avec des collaborateurs qui dispose d'un numéro de dossier hors un même collaborateur peut disposer de plusieurs lignes avec des numéros de dossiers différents, l'objectif est de prendre pour ce même collaborateur le numéro de dossier le plus haut (valeur max) lorsque je veux faire une recherchev sur un autre tableau mais j'ai essayé plusieurs formules impossible de trouver la bonne.
Pouvez vous m'aider ?
Merci par avance.
Frédéric LE GUEN
09/02/2021 @ 19:40
Ecoutez, ce genre de demande rentre dans le cadre de mes fonctions de consultants. Il faut que j'analyse les fichiers existant pour que je chiffre le temps à y consacrer et donc le prix de ma prestation. Voulez-vous que je m'en occupe ?
Fanny
21/01/2021 @ 16:41
Bonjour,
J'ai utilisé la formule matricielle du filtre tel que vous l'avez expliqué plus haut.
Est-il possible de combiner la fonction filtre afin d'obtenir une liste sans doublons?
merci beaucoup,
Fanny
Frédéric LE GUEN
21/01/2021 @ 18:45
Il suffit d'englober ce résultat dans la fonction UNIQUE
Daniel GROS-DESORMEAUX
08/10/2020 @ 15:59
Bonjour, je suis a la recherche d’une solution pour faire la manip suivante :
Cellule a2 feuille1, j’ai une référence.
Dans la cellule c2 feuille1 je veux remplir la donnée la plus récente de la colonne d située sur la feuille 2 qui contient également une colonne b contenant plusieurs données dont la référence de la cellule a2 de la feuille1
Merci d’avance pour votre aide