INDEX-MATCH avec correspondances multiples dans Excel (6 exemples)

  • Partage Ça
Hugh West

Excel propose différentes fonctions et méthodes pour récupérer les valeurs correspondantes. Selon la situation, les utilisateurs peuvent choisir leurs préférences. Ce tutoriel va vous montrer comment obtenir des résultats à l'aide de MATCH INDEX avec des correspondances multiples dans Excel.

Tout d'abord, faisons connaissance avec le cahier d'exercices d'aujourd'hui.

Dans les feuilles du classeur d'aujourd'hui, vous trouverez des produits et leur relation de prix. En utilisant cette relation, nous allons voir quelques exemples pour récupérer la valeur avec plusieurs critères .

Dans le monde réel, vous pouvez être amené à traiter des ensembles de données comportant plusieurs relations et à définir différents critères pour produire les résultats. Pour rester simple pour le moment, nous allons récupérer le prix d'un produit correspondant au nom et à la taille.

Télécharger le cahier d'exercices

Vous pouvez télécharger le classeur utilisé pour la démonstration avec toutes les formules à partir du lien ci-dessous.

INDEX-MATCH avec correspondances multiples.xlsx

Principes de base d'INDEX-MATCH

Principes de base de la fonction INDEX

La fonction INDEX renvoie une valeur ou la référence à une valeur à l'intérieur d'un tableau ou d'une plage. Elle peut être utilisée pour récupérer des valeurs individuelles ou des lignes et des colonnes entières. Voyons la syntaxe de la fonction INDEX.

INDEX(tableau/référence, numéro_de_ligne, numéro_de_colonne, numéro_de_zone)

tableau ou référence : Une cellule ou une plage de cellules à examiner

numéro_de_ligne : Une ligne du tableau à partir de laquelle retourner une valeur.

nombre_de_colonnes : La colonne du tableau à partir de laquelle retourner une valeur.

numéro_de_zone : Sélectionne une plage de référence à partir de laquelle retourner l'intersection de numéro de rang et numéro de colonne Il s'agit d'un champ facultatif.

Lors de la rédaction de la formule, vous pouvez choisir de fournir ou non numéro de rang ou numéro de colonne Si vous fournissez numéro de rang alors il est facultatif d'utiliser numéro de colonne et vice versa.

Vous pouvez consulter le Soutien de Microsoft pour une analyse plus approfondie de la syntaxe.

Principes de base de la fonction MATCH

En pratique, une fonction que vous trouverez plus souvent avec le INDEX La fonction est la fonction MATCH . le MATCH est utilisée pour localiser la position d'un élément spécifique dans une plage de cellules. Elle renvoie la position relative d'un élément particulier dans la plage.

Syntaxe de la MATCH La fonction est

MATCH(lookup_value, lookup_array, match_type)

lookup_value : La valeur à rechercher dans le lookup_array.

lookup_array : Une gamme de cellules qui sont recherchées.

match_type : Il s'agit d'un champ facultatif. Vous pouvez insérer 3 valeurs.

1 = Plus petit ou égal à lookup_value

0 = Valeur exacte de la recherche

-1 = Supérieur ou égal à lookup_value

Pour une compréhension plus approfondie, vous pouvez consulter la page Soutien de Microsoft site.

6 Exemples appropriés d'utilisation de la formule INDEX-MATCH avec des correspondances multiples

Nous allons maintenant mettre en pratique ces formules et ces théories dans notre jeu de données. Nous avons résolu différents scénarios en utilisant la méthode d'analyse des données. INDEX-MATCH Suivez-nous pour voir comment nous pouvons les appliquer dans différents scénarios ou si vous préférez un scénario spécifique, vous pouvez le trouver dans le tableau ci-dessus.

1. INDEX-MATCH avec critères multiples

Pour récupérer les valeurs avec plusieurs critères Tout d'abord, définissez les critères. Par exemple, si vous voulez récupérer le prix d'une chemise de petite taille (dans notre classeur), vous devez définir le nom du produit - Chemise et la taille - Petite.

Maintenant, suivez ces étapes pour voir comment nous pouvons utiliser la formule pour trouver la correspondance d'index avec ces correspondances multiples dans Excel.

Des pas :

  • Tout d'abord, sélectionnez la cellule G6 .
  • Ensuite, écrivez la formule suivante.

=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

🔎 Répartition de la formule

INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

👉 (G4=B5:B15) et (G5=C5:C15) sont toutes deux des conditions et renvoient soit VRAI ou FAUX selon que les conditions sont vraies ou non. Numériquement, elles valent 1 ou 0. La multiplication donne donc 1 lorsque les deux conditions sont vraies.

👉 MATCH(1,(G4=B5:B15)*(G5=C5:C15),0) renvoie la position où les deux conditions sont vraies. Dans ce cas, c'est 1.

👉 INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) renvoie la valeur à l'endroit où la partie précédente de la formule a été renvoyée.

  • Enfin, appuyez sur Entrez .

Voici comment nous pouvons utiliser l'INDEX MATCH pour des critères ou des correspondances multiples dans Excel.

Lire la suite : Comment faire correspondre plusieurs critères à partir de différents tableaux dans Excel ?

2. INDEX-MATCH avec des critères multiples appartenant à des lignes et des colonnes

Dans cette section, nous verrons comment effectuer une recherche en testant deux ou plusieurs critères dans les champs suivants rangs et colonnes Cela peut sembler un peu délicat et complexe.

Nous apportons un peu de changement dans notre exemple, notre tableau est maintenant disposé de telle sorte que les valeurs de taille (Small, Large, M, XL) représentent des colonnes individuelles.

Comme dans la section précédente, définissez le produit et la taille requise comme valeurs de critères.

Suivez ces étapes pour voir comment nous pouvons utiliser la formule pour cette section.

Des pas :

  • Tout d'abord, sélectionnez la cellule I6 .
  • Puis écrivez-y la formule suivante.

=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))

🔎 Répartition de la formule

👉 MATCH(I4,B5:B7,0) retourne la correspondance exacte de la valeur de I4 dans la gamme B5:B7 .

👉 De même, MATCH(I5,C4:F4,0) renvoie la correspondance exacte de la valeur de I5 dans la gamme C4:F4 .

👉 Enfin, INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) prend la sortie de la première fonction comme numéro de ligne et la deuxième fonction comme numéro de colonne et renvoie la valeur qui se trouve dans la position de l'intervalle C5:F7 .

  • Après cela, appuyez sur Entrez .

Ainsi, nous pouvons utiliser le INDEX-MATCH avec des critères multiples appartenant à des lignes et des colonnes.

Lire la suite : Index Excel Faire correspondre des critères uniques/multiples avec des résultats uniques/multiples

Lectures similaires

  • INDEX MATCH avec 3 critères dans Excel (4 exemples)
  • INDEX MATCH sur plusieurs feuilles en Excel (avec alternative)
  • Somme avec les fonctions INDEX-MATCH sous plusieurs critères dans Excel
  • Indexer et additionner plusieurs lignes dans Excel (3 façons)
  • Formule INDEX-MATCH pour trouver la valeur minimale dans Excel (4 façons appropriées)

3. INDEX-MATCH à partir de colonnes non adjacentes

Dans cette section, nous allons vous montrer un exemple de la façon de récupérer des valeurs correspondantes en utilisant deux colonnes non adjacentes. De plus, nous avons besoin de la fonction IFERROR pour ce scénario.

Ce sera le jeu de données pour la démonstration.

Suivez ces étapes pour voir comment nous pouvons utiliser l'option INDEX-MATCH pour les colonnes non adjacentes (produit et quantité) dans cet ensemble de données.

Des pas :

  • Tout d'abord, sélectionnez la cellule G6 .
  • Puis écrivez-y la formule suivante.

=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value")

🔎 Répartition de la formule

IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Aucune valeur")

👉 MATCH(G5,B4:B7,0) trouve la correspondance exacte de la valeur de la cellule G5 dans la gamme B4:B7 .

👉 et MATCH(F6,B4:D4,0) trouve la correspondance exacte de F6 est la gamme B4:D4 .

👉 Puis INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) prend la première valeur de la fonction comme numéro de ligne et la deuxième valeur de la fonction comme numéro de colonne et renvoie la valeur à cette position dans la plage. B4:D7 .

👉 Enfin, IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Aucune valeur") renvoie la chaîne "Aucune valeur" en cas d'erreur lors de l'exécution de la formule, sinon, elle renvoie la valeur habituelle.

  • Ensuite, appuyez sur Entrez sur votre clavier.

Par conséquent, nous pouvons trouver la correspondance souhaitée en utilisant la fonction INDEX-MATCH à partir de colonnes non adjacentes pour des critères sélectionnés, même pour des critères multiples, dans Excel.

4. INDEX-MATCH à partir de plusieurs tables

Pour trouver les correspondances à partir de plusieurs tables, nous pouvons utiliser la fonction INDEX-MATCH En plus de cette fonction, nous aurons besoin de PETIT , ISNUMBER , ROW , COUNTIF et IFERROR également des fonctions.

Dans la feuille d'exemple, nous avons 2 produits de magasin. À l'aide de cette feuille, nous allons voir comment effectuer cette tâche.

Suivez ces étapes pour voir comment nous pouvons utiliser la combinaison de ces fonctions avec la fonction INDEX-MATCH avec des correspondances multiples à partir de cet ensemble de tableaux dans Excel.

Des pas :

  • Tout d'abord, sélectionnez la cellule C14 .
  • Maintenant, écrivez la formule suivante.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Répartition de la formule

IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) trouve la correspondance exacte de C12 dans la gamme B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) vérifie si la valeur est un nombre dans la fonction.

👉 IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") ROW($B$6:$B$10)) vérifie si la fonction précédente est un nombre ou non. Si c'est le cas, elle renvoie la valeur de sortie de MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) qui est la position où le tableau des numéros de rangée correspond aux premier et deuxième ROW Sinon, il renvoie une chaîne vide.

👉 SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) renvoie le ROWS($A$1:A1) -La plus petite valeur du tableau.

👉 Enfin. INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)))) retourne la valeur à cette position dans la plage C6:C10 .

👉 INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))) fait la même chose, mais à partir du deuxième tableau, car les plages sont clairement différentes dans cette partie de la formule.

👉 Enfin, la fonction complète prend la fonction complète et renvoie la fonction INDEX-MATCH combinaisons. L'impact de la IFERROR est que s'il y avait des erreurs lors de l'exécution de la formule, elle ne renverrait aucune valeur.

  • Ensuite, appuyez sur Entrez .

  • Après cela, sélectionnez à nouveau la cellule et cliquez et faites glisser l'icône de la poignée de remplissage vers le bas pour plusieurs cellules afin de trouver le reste des valeurs des tableaux. Vous pouvez faire glisser des cellules supplémentaires, Excel arrêtera les valeurs lorsqu'il n'y en aura plus.

Voici comment utiliser la fonction INDEX-MATCH en utilisant des critères provenant de plusieurs tableaux dans Excel.

Lire la suite : Critères multiples dans Excel à l'aide des fonctions INDEX, MATCH et COUNTIF

5. INDEX-MATCH à partir de plusieurs feuilles de travail

Nous pouvons utiliser la formule INDEX-MATCH sur différentes feuilles. Ici, nous avons ces deux tableaux sur deux feuilles de calcul différentes.

La feuille Shop 1 pour l'atelier 1 et la feuille Shop 2 pour l'atelier 2.

Pour produire le résultat, il suffit de fournir le nom de la feuille avant la référence de la cellule. Suivez ces étapes pour plus de détails.

Des pas :

  • Tout d'abord, sélectionnez la cellule C14 de la feuille "Shop 1".
  • Ensuite, écrivez la formule suivante.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Répartition de la formule

IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))), INDEX(‘Shop 2’!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH(‘Shop 2’!$B$6:$B$10, $C$12, 0)), MATCH(ROW(‘Shop 2’!$B$6:$B$10), ROW(‘Shop 2’!$B$6:$B$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) recherche la correspondance exacte de la valeur de la cellule C12 dans la gamme B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) vérifie si la sortie de la fonction précédente est un nombre ou non. Ce qui détermine s'il y a eu une correspondance ou non. C'est juste pour convertir la valeur numérique en booléen.

👉 Puis IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") vérifie la valeur booléenne et renvoie MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) si la valeur est vraie. Sinon, elle renvoie une chaîne vide. La fonction MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) La partie est la série de nombres où ROW($B$6:$B$10) et ROW($B$6:$B$10) Il s'agit simplement d'une astuce pratique pour limiter le nombre total de lignes dans une section sélectionnée.

👉 Après ça, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1) cherche le ROWS($A$1:A1) -La plus petite valeur de la sortie de la fonction SI portion.

👉 Enfin, INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)))) prend la sortie de la fonction précédente comme numéro de ligne et ROWS($A$1:A1) comme numéro de colonne et renvoie la valeur qui se trouve à cette position dans la plage C6:C10 .

👉 De même, INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), "") fait la même chose, mais à partir de la deuxième feuille. Comme le nom de la feuille est "Shop 2", nous l'avons ajouté avant de sélectionner les plages/cellules. Il n'est pas nécessaire de les ajouter à la feuille sur laquelle vous effectuez les calculs. Nous ne l'avons donc pas fait pour "Shop 1" dans la partie précédente de la formule.

👉 Enfin, nous avons ajouté l'ensemble de la fonction dans un fichier IFERROR La raison est de renvoyer un blanc au cas où des erreurs se produiraient lors de l'exécution de la formule.

  • Enfin, appuyez sur Entrez .

  • Sélectionnez à nouveau la cellule, puis cliquez et faites glisser l'icône de la poignée de remplissage de certaines cellules vers le bas (plus que la quantité estimée de la cellule de sortie devrait convenir).

Par conséquent, nous allons trouver toutes les correspondances en utilisant l'INDEX-MATCH à partir de plusieurs feuilles de calcul dans Excel.

6. INDEX-MATCH pour les critères multiples sans tableau

Nous pouvons également utiliser l'INDEX-MATCH pour des correspondances ou des critères multiples sans tableau. Par exemple, prenons l'ensemble de données suivant.

Mais nous avons besoin d'une colonne d'aide pour y parvenir. Nous allons utiliser la fonction CONCATENATE en plus des fonctions en question. Suivez ces étapes pour le guide complet.

Des pas :

  • Tout d'abord, sélectionnez la cellule F5 et écrivez la formule suivante.

=CONCATÉNATION(C5, ",",D5, ",",E5)

  • Ensuite, appuyez sur Entrez .

  • Sélectionnez à nouveau la cellule, puis cliquez et faites glisser l'icône de la poignée de remplissage jusqu'à la fin de la colonne afin de reproduire la formule pour le reste des cellules.

  • Ensuite, nous allons trouver l'INDEX-MATCH pour tous les 100 de l'ensemble de données original. Pour cela, sélectionnez une cellule pour stocker la valeur ( H5 dans ce cas).
  • Insérez ensuite la formule suivante.

=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))

🔎 Répartition de la formule

👉 MATCH(“100,100,100”,F5:F19,0) recherche la correspondance exacte de 100,100,100 dans la gamme F5:F19 .

👉 Alors INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) renvoie la valeur à la position où la valeur correspond.

  • Enfin, appuyez sur Entrez .

De cette façon, nous pouvons utiliser INDEX-MATCH pour des critères ou des correspondances multiples dans Excel sans aucun tableau.

Comment renvoyer plusieurs valeurs verticalement à l'aide de la formule INDEX-MATCH dans Excel ?

Si vous souhaitez renvoyer plusieurs valeurs verticalement à l'aide d'INDEX-MATCH, voyons l'exemple suivant.

Suivez ces étapes pour voir comment nous pouvons y parvenir pour l'ensemble de données.

Des pas :

  • Tout d'abord, sélectionnez la cellule F5 .
  • Ensuite, écrivez la formule suivante.

=IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"")

🔎 Répartition de la formule

👉 ROW($B$5:$B$14) renvoie un tableau contenant les numéros de ligne de la plage B5:B14 .

👉 ROW($B$5:$B$14)-ROW($B$5)+1 renvoie la différence entre le tableau et le numéro de ligne de la cellule B5 qui est juste un tableau de 1 à 10 dans ce cas.

👉 IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) vérifie où la valeur de la cellule E5 est égale dans l'intervalle B5:B14 et renvoie le numéro dans le tableau où il est vrai à partir du tableau précédent.

👉 SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1) renvoie le plus petit nombre du tableau.

👉 INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))))) puis renvoie la valeur à cette position dans la plage C5:C14 .

👉 Enfin, IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"") s'assure que si une valeur entraîne une erreur dans la formule, elle renvoie une chaîne vide.

  • Troisièmement, appuyez sur Entrez .

  • Ensuite, sélectionnez à nouveau la cellule. Enfin, cliquez et faites glisser l'icône de la poignée de remplissage vers le bas pour certaines cellules afin d'obtenir toutes les valeurs.

De cette façon, nous pouvons renvoyer plusieurs valeurs verticalement en utilisant l'INDEX-MATCH dans Excel.

Lire la suite : INDEX MATCH avec plusieurs critères dans une feuille différente (2 façons)

Conclusion

C'est tout pour aujourd'hui. Nous avons essayé de vous montrer quelques façons de faire des INDEX MATCH avec des correspondances multiples. Nous espérons que vous trouverez cela utile. N'hésitez pas à commenter si quelque chose vous semble difficile à comprendre. Vous êtes invités à nous signaler toute autre méthode pour cette tâche.

Pour plus de guides comme celui-ci, visitez Exceldemy.com .

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.