Google Sheets dispose de nombreuses fonctions pour rechercher et afficher des données dans des cellules à partir d’un tableau de données. Cependant dans certains la rechercher peut-être plus complexe que prévu. Notamment si nous avons besoin de trouver une valeur qui soit en rapport avec deux critères.

Découvrez ainsi dans cet article comment afficher une valeur présente dans un tableau de données à partir de deux critères (ligne et colonne d’entêtes).

// DÉCOUVREZ LES FORMATIONS SUR GOOGLE SHEETS //

Démonstration vidéo

Comment rechercher des données dans un Google Sheets ?

table-search

Comme je l’ai développé dans d’autres articles, il existe plusieurs façons pour trouver et afficher des valeurs dans une feuille de calcul Sheets. Les méthodes les plus connues étant RECHERCHEH, RECHERCHEV, RECHERCHEX (XLOOKUP) ou encore la puissante fonction QUERY.

Mais comment faire une recherche verticale et horizontale ?

Cependant, certains cas peuvent être plus complexes. Par exemple si nous devons trouver et afficher une valeur en fonction d’un critère dans la première ligne et la première colonne d’un tableau. Dans ce cas, cela revient à devoir faire une recherche verticale et horizontale. Pour cela, le plus simple est de combiner les fonctions INDEX et EQUIV.

Voyons ainsi ci-dessous un cas d’usages pour bien comprendre l’intérêt de cette méthode et comment utiliser ces deux fonctions.

Présentation du cas d’usage

Pour bien comprendre cette problématique, voici le cas d’usage suivant. Nous avons un tableau de données dans lequel nous avons des produits en ligne (A, B, C, D, E) et pour chaque produit, nous avons des packages spécifiques en colonne (A, B, C).

L’idée étant dans ce cas, lors de l’édition d’une facture par exemple d’afficher le tarif après avoir sélectionné un produit puis le package associée.

Pour cela, nous allons utiliser la fonction EQUIV pour récupérer le numéro d’emplacement du produit et du package. Cela nous permettra alors d’afficher le prix associé en utilisant la fonction INDEX.

Utiliser la fonction EQUIV

La fonction EQUIV (MATCH en anglais) nous permet d’afficher la position d’un élément dans une plage correspondant à une valeur que nous avons indiquée.

Premièrement nous allons recherche la position du produit. Nous allons donc avoir la formule ci-dessus avec l’explication associée :

=EQUIV(J3;C3:C7;0)
  • 1er critère – clé de recherche (J3) : définir ici l’élément que à rechercher dans la plage de données. Soit dans notre cas trouvée la position du « Produit C ».
  • 2e critère – plage de donnée (C3:C7) : définir la plage de données en lien avec notre clé de recherche. À savoir ici la plage de données des produits.
  • 3e critère – type de recherche – [FACULTATIF – 1 par défaut] : manière selon laquelle la recherche doit s’effectuer – En savoir plus sur la page de support officiel.
fonction equiv trouver produit

Comme vous pouvez le voir sur la copie d’écran ci-dessus, nous avons avec la fonction EQUIV la position « 3 » pour notre « Produit C ». Ce qui correspond bien à la position de ce produit dans la liste.

Maintenant il faut faire la même chose avec les packages. Ce qui va nous donner la formule suivante :

=EQUIV(J5;D2:F2;0)
data-sheets-packages

Comme vous pouvez le voir sur la copie d’écran ci-dessus, nous avons avec la fonction EQUIV la position « 2 » pour notre « Package B ». Ce qui correspond bien à la position de ce produit dans la liste.

Utiliser la fonction INDEX

La fonction INDEX permet quant à elle d’afficher le contenu d’une cellule selon un numéro de ligne et de colonne. Numéro que nous avons dans ce cas récupéré avec les fonctions EQUIV que nous avons vu précédemment.

Dans ce cas d’usage, j’utilise ainsi la fonction INDEX pour afficher la bonne valeur dans le tableau de produits/packages en fonction des numéros de ligne et de colonne.

Nous avons ainsi la formule suivante pour trouver le prix du « Produits C » et du « Package B » :

=INDEX(D3:F7;E12;E14)
  • 1er critère – plage de données : définir la plage de données. Soit la plage de cellules avec toutes les données du tableau de produits/packages.
  • 2e critère – numéro de ligne (Produit) : spécifier ici le numéro de ligne. Dans notre cas nous permet de choisir le produit « C ».
  • 3e critère – numéro de colonne (Package) : spécifier ici le numéro de colonne. Dans notre cas nous permet de choisir le package « B ».
présentation fonction INDEX - Sheets

Combiner EQUIV et INDEX pour réaliser une recherche verticale et horizontale

Maintenant que nous avons nos trois fonctions (2 EQUIV + 1 INDEX). Il ne nous reste qu’à les combiner pour afficher notre résultat avec une seule formule.

Dans ce cas, nous avons alors simplement à copier les fonctions EQUIV (ligne et colonne) et les intégrer à la place des critères de ligne et de colonne dans la fonction INDEX. Ce qui nous donne alors la formule suivante :

=INDEX(Tarifs_TAB;EQUIV(J3;Produits;0);EQUIV(J5;Packages;0))
fonction INDEX + EQUIV avec Sheets

ℹ️ INFORMATION : Notez que pour simplifier la formule, j’ai également utilisé la fonctionnalité de plage nommée pour remplacer la référence des plages de cellules avec un intitulé plus parlant. En savoir plus sur les plages nommées depuis cet autre article.

Pour conclure…

Voilà pour ce tutoriel sur Google Sheets pour afficher une valeur dans un tableau avec un besoin de recherche vertical et horizontal. Comme vous pouvez le voir, cela reste largement accessible si nous prenons le temps de décomposer les fonctions. 🙂 Ensuite, il ne suffit qu’à faire du copier-coller pour en faire une formule complète.

Voilà, vous connaissez maintenant une solution simple et pratique pour recherche et affichez une valeur avec une recherche verticale et horizontale. 😉

Portez-vous bien et à bientôt!


Si vous avez trouvé une faute d’orthographe, merci de nous en informer en sélectionnant le texte en question et en appuyant sur « Ctrl + Entrée« .

Leave a Reply

Your email address will not be published.

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