web-dev-qa-db-fra.com

Renvoyer la valeur maximale de la plage déterminée par une recherche Index & Match

J'ai besoin d'une cellule pour afficher la valeur maximale d'une plage dont la ligne est définie par une formule d'index et de correspondance. Je sais que ce sera une fonction de tableau, mais j'ai du mal à bien comprendre la syntaxe. Voici à quoi ressemblent mes données. Je l'ai aménagé avec des lettres de colonne et des numéros de ligne comme Excel.

Utilisation du tableau ci-dessous comme référence, dans un deuxième tableau. Lorsque j'entre b dans les cellules A1 et y dans la colonne B1, la formule dans la cellule C1 doit renvoyer la valeur 35 car 35 est la valeur maximale dans les colonnes C:F de la ligne déterminée par A1 et B1 à l'aide de INDEX et MATCH.

Tableau 1.

     A      B      C     D     E     F
1    a      x      25    6     23    11
2    a      y      39    15    42    19
3    b      x      28    34    51    24
4    b      y      27    19    15    35
5    b      z      38    26    12    18
6    c      x      12    19    22    15

Maintenant ... Ce que je veux faire, c'est créer une formule qui trouve le maximum de colonnes C à F dans la ligne qui correspond aux valeurs dans A et B qui sont données dans un tableau séparé. Pour cet exemple, nous allons écrire la formule dans la cellule C1. La formule doit prendre le maximum de C à F en fonction d'une correspondance entre la colonne A = b et la colonne B = y (dont la formule indique la ligne 4). La valeur que je veux dans ce cas serait 35 car c’est le maximum des 4 colonnes (C:F) de la ligne 4.

Voici à quoi devrait ressembler mon deuxième tableau avec la formule se trouvant dans la ligne C

Tableau 2.

     A      B      C
1    b      y      35
2    a      x      25
3    b      z      38
4    c      x      22

J'ai essayé ceci: (la formule est dans le tableau 2, elle n'est donc pas explicitement déclarée dans la partie correspondante de la formule. Vous devez également être familiarisé avec les tableaux dans Excel pour l'obtenir)

 =INDEX(MAX(Table1[C]:Table1[F]),MATCH([@A]&[@B],Table1[A]&Table1[B],0))

Je l'enveloppe alors avec Control + Shift + Enter pour le mettre en scène.

Le problème semble venir lorsque je mets la fonction MAX dans la partie tableau de INDEX. Y a-t-il des moyens de contourner cela? peut-être devrais-je utiliser un ensemble de fonctions complètement différent?

6
Ashton Sheets

Vous n'avez pas besoin d'une formule de correspondance d'index. Vous pouvez utiliser cette formule matricielle. Vous devez appuyer sur CTL + SHIFT + ENTER après avoir entré la formule.

=MAX(IF((A1:A6=A10)*(B1:B6=B10),C1:F6))

INSTANTANÉ

enter image description here

12
Siddharth Rout

Vous pouvez facilement remplacer le type de correspondance par 1 lorsque vous recherchez la plus grande valeur ou par -1 si vous recherchez la plus petite valeur.

0
Mehdi Babapour