Comment retourner plusieurs valeurs à partir d’une recherche ?

Comment retourner plusieurs valeurs à partir d’une recherche ?
Dernière mise à jour le 05/02/2024
Temps de lecture : 2 minutes

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)

La fonction RECHERCHEV retourne le contenu de la colonne spécifiée

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.

Plusieurs valeurs identiques dans le tableau de données

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 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 à notre besoin.

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

  1. En premier paramètre la colonne qui contient les données à retourner (dans notre exemple, les dates)
  2. 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)

La fonction FILTRE retourne plusieurs valeurs

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.

La fonction FILTRE sadapte au nombre de résultats à retourner

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 matricielle TRIER.

=TRIER(FILTRE(B2:B18;A2:A18=D2))

Résultat trié automatiquement par la fonction TRI

Vidéo tutorielle

Regardez la vidéo suivante qui vous explique cette nouvelle fonction

14 Comments

  1. 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,

    Reply

  2. SunBen
    04/09/2022 @ 09:00

    Mille merci pour ce tuto, vous venez de me faire gagner un temps précieux !!
    Bien à vous.

    Reply

  3. 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

    Reply

  4. Lisa
    29/07/2021 @ 10:25

    Bonjour,

    J'aimerais avoir les résultats de Filtre dans la même cellule, est-ce possible ?

    Merci

    Reply

    • 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"))

      Reply

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

  5. 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

    Reply

  6. 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.

    Reply

    • 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 ?

      Reply

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

    Reply

    • Frédéric LE GUEN
      21/01/2021 @ 18:45

      Il suffit d'englober ce résultat dans la fonction UNIQUE

      Reply

  8. 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

    Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Comment retourner plusieurs valeurs à partir d’une recherche ?

Reading time: 2 minutes
Dernière mise à jour le 05/02/2024

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)

La fonction RECHERCHEV retourne le contenu de la colonne spécifiée

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.

Plusieurs valeurs identiques dans le tableau de données

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 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 à notre besoin.

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

  1. En premier paramètre la colonne qui contient les données à retourner (dans notre exemple, les dates)
  2. 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)

La fonction FILTRE retourne plusieurs valeurs

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.

La fonction FILTRE sadapte au nombre de résultats à retourner

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 matricielle TRIER.

=TRIER(FILTRE(B2:B18;A2:A18=D2))

Résultat trié automatiquement par la fonction TRI

Vidéo tutorielle

Regardez la vidéo suivante qui vous explique cette nouvelle fonction

14 Comments

  1. 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,

    Reply

  2. SunBen
    04/09/2022 @ 09:00

    Mille merci pour ce tuto, vous venez de me faire gagner un temps précieux !!
    Bien à vous.

    Reply

  3. 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

    Reply

  4. Lisa
    29/07/2021 @ 10:25

    Bonjour,

    J'aimerais avoir les résultats de Filtre dans la même cellule, est-ce possible ?

    Merci

    Reply

    • 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"))

      Reply

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

  5. 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

    Reply

  6. 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.

    Reply

    • 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 ?

      Reply

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

    Reply

    • Frédéric LE GUEN
      21/01/2021 @ 18:45

      Il suffit d'englober ce résultat dans la fonction UNIQUE

      Reply

  8. 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

    Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.