Возвращает максимальное значение диапазона, определенного поиском по индексу и соответствию

Мне нужна ячейка для отображения максимального значения диапазона, строка которого определяется индексом и формулой соответствия. Я знаю, что это будет функция массива, но я изо всех сил пытаюсь понять синтаксис. Вот как выглядят мои данные. У меня это выложено с помощью букв столбцов и номеров строк, таких как Excel.

Используя приведенную ниже таблицу в качестве ссылки во второй таблице. Когда я ввожу b в ячейку A1 и y в столбец B1, формула в ячейке C1 должна возвращать значение 35, потому что 35 - максимальное значение в столбцах C:F в строке, определяемой A1 и B1 с использованием INDEX и MATCH

Таблица 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

Теперь ... Я хочу создать формулу, которая находит максимальное количество столбцов с C по F в строке, которая соответствует значениям в A и B, которые указаны в отдельной таблице. В этом примере мы запишем формулу в ячейку C1. Формула должна принимать максимум от C до F на основе совпадения столбца A = b и столбца B = y (который, согласно формуле, является строкой 4). В данном случае мне нужно значение 35, потому что это максимум из 4 столбцов (C:F) в строке 4.

Вот как должна выглядеть моя вторая таблица с формулой в строке C

Таблица 2.

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

Я пробовал это: (формула находится в таблице 2, поэтому она явно не объявляется в части формулы, соответствующей соответствию. Вам также необходимо ознакомиться с таблицами в Excel, чтобы получить ее)

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

Затем я оборачиваю его с помощью Control + Shift + Enter, чтобы разместить его.

Проблема, кажется, возникает, когда я помещаю функцию MAX в часть массива INDEX. Есть ли способы обойти это? возможно, мне стоит использовать совершенно другой набор функций?


person Ashton Sheets    schedule 15.08.2012    source источник


Ответы (2)


Формула сопоставления индекса не требуется. Вы можете использовать эту формулу массива. После ввода формулы необходимо нажать CTL + SHIFT + ENTER.

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

SNAPSHOT

введите описание изображения здесь

person Siddharth Rout    schedule 15.08.2012
comment
Вы можете использовать ИНДЕКС и ПОИСКПОЗ, если хотите. Этот вариант длиннее предложения Сида, но не требует CTRL + SHIFT + ENTER ...._ 1_ - person barry houdini; 16.08.2012
comment
@barryhoudini - =MAX(IF(MMULT((A1:A6=A10)*(B1:B6=B10),1),C1:F6)) тоже работает. MMULT(...,1), похоже, работает в более общем плане, чем INDEX(...,0), для создания формул, не входящих в массив. - person lori_m; 20.08.2012
comment
Поздно на вечеринку - это здорово! Мне было интересно, могу ли я расширить это столько раз, сколько нужно, или этот метод хорошо работает только, скажем, с двумя условиями? (В принципе, можно ли написать такую ​​формулу: =MAX(IF((A1:A6=A10)*(B1:B6=B10)*(C1:C6=C10)*(D1:D6=D10)*(E1:E6=E10),C1:F6))?) - person BruceWayne; 18.05.2016

Вы можете легко изменить тип соответствия на 1, когда вы ищете наибольшее значение, или на -1, когда ищете наименьшее значение.

person Mehdi Babapour    schedule 23.12.2017