Comment utiliser INDEX MATCH avec plusieurs critères dans Google Sheets

Les tableurs comme Microsoft Excel et Google Sheets proposent plusieurs fonctions pour rechercher des valeurs dans vos tableaux. Les deux proposent HLOOKUP et VLOOKUP pour les recherches horizontales et verticales, ainsi que XLOOKUP, qui les combine et offre plus de flexibilité. Toutefois, les utiliser avec plusieurs critères peut être très délicat, car cela demande plusieurs niveaux d'imbrication. Heureusement, combiner les fonctions INDEX et MATCH (EQUIV) vous permet d'effectuer des recherches souples et complexes à plusieurs critères.

Dans ce guide, vous commencerez par revoir les fonctions INDEX et MATCH et la façon de les combiner pour effectuer des recherches. Vous verrez ensuite comment un petit ajustement vous permet d'utiliser plusieurs critères dans vos recherches, qu'elles soient verticales, horizontales ou mixtes. Vous trouverez des instructions pas à pas pour rechercher des valeurs avec plusieurs critères dans une recherche horizontale, une recherche verticale et une recherche avec des critères horizontaux et verticaux. Enfin, vous apprendrez à combiner INDEX et MATCH avec d'autres fonctions, comme AVERAGE (MOYENNE).

Syntaxe des fonctions INDEX et MATCH

Avant de vous lancer dans les recherches à plusieurs critères, il est utile de revoir la syntaxe des deux fonctions, ainsi que la syntaxe combinée.

=INDEX(reference, row*, column*)

  • reference : la plage de cellules dont vous voulez renvoyer les valeurs.
  • row* : facultatif. L'index de la ligne à renvoyer dans la plage de cellules de référence. 0 par défaut. C'est ici que vous ajoutez MATCH pour les recherches verticales.
  • column* : facultatif. L'index de la colonne à renvoyer dans la plage de cellules de référence. 0 par défaut. C'est ici que vous ajoutez MATCH pour les recherches horizontales.

=MATCH(search_key, range, search_type*)

  • search_key : la valeur que vous voulez rechercher.
  • range : le tableau à une dimension dans lequel effectuer la recherche.
  • search_type* : facultatif. La méthode de recherche.
    • 1 est la valeur par défaut. La fonction considère que la plage est triée par ordre croissant et renvoie la plus grande valeur inférieure ou égale à la clé de recherche.
    • 0 trouve une correspondance exacte. La plage n'a pas besoin d'être triée.
    • -1 considère que la plage est triée par ordre décroissant et renvoie la plus petite valeur supérieure ou égale à la clé de recherche.

Syntaxe combinée d'INDEX et MATCH

Pour utiliser la fonction INDEX, vous devez indiquer la ligne et la colonne de votre plage. La fonction renvoie alors le contenu de la cellule située à l'intersection de cette ligne et de cette colonne. Autrement dit, vous devez fournir les coordonnées ou les références de cellule.

La fonction MATCH, elle, recherche une valeur précise et renvoie les coordonnées ou la référence de cellule. C'est précisément ce qu'il vous faut pour rendre la fonction INDEX dynamique. Comme indiqué plus haut, vous pouvez remplacer les arguments de ligne et de colonne d'INDEX par des fonctions MATCH.

=INDEX(range,MATCH(search_key,search_column,search_type),MATCH(search_key,search_row,search_type))

Avec la formule ci-dessus, vous pouvez indiquer le critère de ligne et le critère de colonne de votre recherche, mais vous êtes limité à un seul de chaque. Heureusement, un petit ajustement de la formule permet de changer cela.

Syntaxe combinée pour les recherches à plusieurs critères

Dans la fonction MATCH, vous pouvez remplacer search_key par "1" et search_column ou search_row par un ensemble de critères ou de conditions. Chaque condition doit être entre parenthèses et reliée aux autres par un signe de multiplication. La fonction évalue ainsi chaque condition et ne renvoie "1" que si toutes sont remplies.

Recherche verticale à plusieurs critères

Utilisez la formule suivante pour une recherche verticale à plusieurs critères.

=INDEX(reference,MATCH(1,(criteria1)*(criteria2)*(criteriaN),0))

Recherche horizontale à plusieurs critères

Utilisez la formule suivante pour une recherche horizontale à plusieurs critères.

=INDEX(reference,row,MATCH(1,(criteria1)*(criteria2)*(criteriaN),0))

Recherche verticale et horizontale à plusieurs critères

Utilisez la formule suivante pour une recherche avec plusieurs critères verticaux et horizontaux.

=INDEX(reference,MATCH(1,(criteria1)*(criteria2)*(criteriaN),0),MATCH(1,(criteria1)*(criteria2)*(criteriaN),0))

Comment utiliser INDEX et MATCH avec plusieurs critères dans Google Sheets

Combiner les fonctions INDEX et MATCH vous permet d'effectuer des recherches qui trouvent des valeurs selon plusieurs critères. Autrement dit, vous pouvez lever l'ambiguïté lorsqu'une même valeur a plusieurs correspondances possibles. Ces recherches peuvent être verticales, horizontales ou les deux.

Heureusement, les deux fonctions sont disponibles dans Microsoft Excel et Google Sheets. Vous trouverez ci-dessous les instructions pour effectuer une recherche avec deux critères : un vertical et un horizontal. La section suivante présente des exemples avec plusieurs critères verticaux ou horizontaux. Enfin, un dernier exemple combine INDEX, MATCH et AVERAGE.

1. Définissez les critères

1. Ouvrez dans Google Sheets la feuille de calcul où vous voulez les résultats de la recherche. Ici, je les veux dans la même feuille que les données, mais vous pouvez utiliser IMPORTRANGE pour rechercher dans d'autres fichiers.

INDEX MATCH à plusieurs critères dans Google Sheets — tableau des ventes mensuelles avec les montants d'Anne, Mary, Charlie et John

2. Saisissez les critères, ou les valeurs à rechercher, dans des cellules distinctes. Ici, le premier critère indique la ligne et le second, la colonne.

INDEX MATCH à plusieurs critères dans Google Sheets — cellules de critères Month et Agent définies sur February et Mary à côté du tableau

Vous pouvez facilement ajouter des listes déroulantes dans les cellules de critères pour les modifier plus simplement. Pour apprendre à ajouter des listes déroulantes dans Google Sheets, consultez ce guide sur comment ajouter une liste déroulante dans Google Sheets.

2. Fonction INDEX

1. Saisissez la formule INDEX dans la cellule où vous voulez le résultat de la recherche.

INDEX MATCH à plusieurs critères dans Google Sheets — =INDEX( saisi dans la cellule Amount avec l'info-bulle des arguments reference, row et column

2. Comme premier argument, sélectionnez la plage de cellules qui contient le tableau.

INDEX MATCH à plusieurs critères dans Google Sheets — tableau A1:E13 sélectionné comme référence d'INDEX

3. Fonction MATCH : verticale

1. Comme deuxième argument d'INDEX, saisissez la fonction MATCH.

INDEX MATCH à plusieurs critères dans Google Sheets — MATCH( ajouté comme deuxième argument d'INDEX avec l'info-bulle search_key

2. Comme premier argument, sélectionnez la cellule contenant la valeur de recherche verticale.

INDEX MATCH à plusieurs critères dans Google Sheets — cellule Month G3 sélectionnée comme clé de recherche de MATCH

3. Comme deuxième argument, sélectionnez la colonne dans laquelle vous voulez effectuer la recherche.

INDEX MATCH à plusieurs critères dans Google Sheets — colonne Month A1:A13 sélectionnée comme plage de MATCH

4. Le troisième argument doit être "0", car vous voulez une correspondance exacte. Fermez la parenthèse et ajoutez une virgule.

INDEX MATCH à plusieurs critères dans Google Sheets — 0 saisi comme type de recherche de MATCH, suivi d'une virgule

4. Fonction MATCH : horizontale

1. Enfin, ajoutez une autre fonction MATCH. C'est le troisième paramètre de la fonction INDEX, celui qui indique la colonne.

INDEX MATCH à plusieurs critères dans Google Sheets — deuxième MATCH( ajouté comme argument de colonne d'INDEX

2. Sélectionnez la cellule contenant la valeur de recherche horizontale comme premier argument.

INDEX MATCH à plusieurs critères dans Google Sheets — cellule Agent H3 sélectionnée comme clé de recherche du deuxième MATCH

3. Sélectionnez la ligne dans laquelle vous voulez effectuer la recherche comme deuxième argument.

INDEX MATCH à plusieurs critères dans Google Sheets — ligne d'en-tête A1:E1 sélectionnée comme plage du deuxième MATCH

4. Enfin, saisissez "0" comme troisième argument et ajoutez deux parenthèses fermantes.

INDEX MATCH à plusieurs critères dans Google Sheets — formule complète =INDEX(A1:E13,MATCH(G3,A1:A13,0),MATCH(H3,A1:E1,0))

5. Appuyez sur "Entrée" pour voir le résultat.

INDEX MATCH à plusieurs critères dans Google Sheets — la cellule Amount renvoie $2,974.34 pour Mary en février

6. La fonction se recalcule automatiquement dès que vous modifiez les critères.

INDEX MATCH à plusieurs critères dans Google Sheets — Month changé en June et résultat mis à jour à $4,940.30

INDEX et MATCH à plusieurs critères : exemples

Cette section présente deux exemples. Dans le premier, vous trouverez une correspondance à l'aide de plusieurs critères verticaux et d'un critère horizontal. Dans le second, vous combinerez INDEX et MATCH avec AVERAGE pour obtenir le prix moyen d'un produit donné chez un fournisseur précis.

Recherche avec plusieurs critères verticaux et un critère horizontal

1. Ouvrez dans Google Sheets la feuille de calcul qui contient vos données.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — tableau des prix par fournisseur et produit de janvier à juin

2. Saisissez les critères dans des cellules distinctes. J'ai ajouté des listes déroulantes à ces cellules pour faciliter le choix des critères.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — listes déroulantes fournisseur, produit et mois définies sur Vendor1, Product3 et April

3. Dans la cellule où vous voulez le résultat, saisissez la fonction INDEX et sélectionnez le tableau comme premier paramètre.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — =INDEX(A1:H9 saisi dans la cellule Price D12

4. Comme deuxième paramètre, ajoutez la fonction MATCH. Ajoutez "1" comme clé de recherche.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — MATCH(1, ajouté avec 1 comme clé de recherche

5. Après la virgule, ouvrez la parenthèse et ajoutez le critère ou la condition. Fermez la parenthèse et ajoutez un signe de multiplication.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — premier critère (A12=A1:A9) suivi d'un signe de multiplication

6. Ouvrez une autre parenthèse pour ajouter le deuxième critère. Une fois terminé, fermez la parenthèse et ajoutez une virgule.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — deuxième critère (B12=B1:B9) ajouté après le signe de multiplication

7. N'oubliez pas d'ajouter "0" pour une correspondance exacte, de fermer la parenthèse et d'ajouter une autre virgule.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — 0 ajouté pour une correspondance exacte, suivi de l'argument de colonne d'INDEX

8. Ajoutez une autre fonction MATCH. Comme vous n'avez qu'un seul critère horizontal, sélectionnez simplement la clé de recherche (le mois) et la ligne où elle doit être trouvée.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — MATCH(C12,A1:H1 ajouté pour le critère du mois

9. Enfin, saisissez "0" pour une correspondance exacte et fermez les deux parenthèses.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — formule complète avec les deux fonctions MATCH fermées

10. Appuyez sur "Entrée" pour voir le résultat.

Recherche à plusieurs critères avec INDEX MATCH dans Google Sheets — la cellule Price affiche $66.12 pour Vendor1, Product3 en avril

Recherche à plusieurs critères et AVERAGE

Dans cet exemple, vous apprendrez à obtenir le prix moyen d'un produit et d'un fournisseur donnés sur les six mois de données dont vous disposez.

1. Dans la feuille de calcul où vous voulez le résultat, saisissez les critères dans des cellules distinctes.

INDEX MATCH avec AVERAGE dans Google Sheets — critères fournisseur et produit au-dessus d'une cellule Average Price (Jan.-June) vide

2. Dans la cellule où vous voulez le résultat, saisissez la fonction AVERAGE.

INDEX MATCH avec AVERAGE dans Google Sheets — =AVERAGE( saisi dans la cellule Average Price

3. Ensuite, saisissez la fonction INDEX.

INDEX MATCH avec AVERAGE dans Google Sheets — =AVERAGE(INDEX( avec l'info-bulle de l'argument reference d'INDEX

4. Sélectionnez le tableau comme premier paramètre de la fonction INDEX.

INDEX MATCH avec AVERAGE dans Google Sheets — tableau A1:H9 sélectionné comme référence d'INDEX

5. Ajoutez la fonction MATCH et saisissez "1" comme clé de recherche.

INDEX MATCH avec AVERAGE dans Google Sheets — MATCH(1, ajouté dans la fonction INDEX

6. Après la virgule, ajoutez chacun de vos critères verticaux entre parenthèses, reliés par un signe de multiplication.

INDEX MATCH avec AVERAGE dans Google Sheets — critères fournisseur et produit reliés par un signe de multiplication dans MATCH

7. Après la virgule, ajoutez "0" pour une correspondance exacte et fermez les trois parenthèses.

INDEX MATCH avec AVERAGE dans Google Sheets — formule terminée avec 0 pour une correspondance exacte et trois parenthèses fermantes

8. Appuyez sur "Entrée" pour voir le résultat.

INDEX MATCH avec AVERAGE dans Google Sheets — prix moyen de $67.62 pour Vendor1, Product3 de janvier à juin

Conclusion

INDEX et MATCH offrent une façon plus souple d'effectuer des recherches dans Microsoft Excel et Google Sheets. Vous pouvez rechercher rapidement des valeurs dans des tableaux complexes à l'aide de plusieurs critères verticaux et horizontaux. Vous savez maintenant utiliser INDEX et MATCH pour obtenir des valeurs selon des critères verticaux et horizontaux, y compris plusieurs de chaque type. Vous savez aussi combiner les fonctions INDEX et MATCH avec d'autres fonctions pour intégrer le calcul directement dans votre formule de recherche. Si vous devez additionner les valeurs de toutes les lignes qui remplissent vos conditions, plutôt que de renvoyer une seule correspondance, utilisez SUMIFS avec plusieurs critères.

Pour en savoir plus sur les autres fonctions de recherche, consultez ces guides :

Vous pouvez aussi aimer...

Fonctionnalités et formules de google sheets

Comment calculer le taux d'intérêt nominal à l'aide de Google Sheets ?

Sarah est une jeune professionnelle qui doit prendre des décisions financières importantes. Des cartes de crédit aux hypothèques, en passant par les prêts étudiants et les...
Fonctionnalités et formules de google sheets

Extraire les données de Google Calendar dans Google Sheets à l'aide d'Apps Script

Cet article a été publié à l'origine dans notre forum communautaire. Objectif : Ce guide montre comment utiliser Google Apps Script pour extraire des données...
Fonctionnalités et formules de google sheets

Utilisation de la fonction PROPER pour mettre en majuscule la première lettre de chaque mot dans Google Sheets

Note : Cet article a été publié à l'origine dans notre forum communautaire. Vous avez déjà eu besoin de nettoyer une liste de noms, de titres ou d'autres...