Не удается получить минимальное значение из таблицы, используя vlookup с другого листа в Excel

У меня есть два рабочих листа. На рабочем листе 1 у меня есть таблица, подобная следующей

ID|PRICE|SELLER

01|12,00|A

01|11,00|B

01|15,00|C

02|12,00|A

02|14,00|B

Если я запускаю следующее внутри рабочего листа 1 в случайной ячейке

=ИНДЕКС(B2:B4;СООТВЕТСТВИЕ(АГРЕГАТ(15;7;B2:B4/(B2:B4‹>0);1);B2:B4;0))

Я получаю ЦЕНУ 11,00 до сих пор правильно.

Теперь я хочу получить это на основе моего идентификатора из рабочего листа 2 и заполнить его следующим образом.

ID|MIN PRICE|SELLER

01|11,00    |B

02|12,00    |A

Как я могу запустить vlookup вместе с первой формулой? из рабочего листа 2


person Community    schedule 06.02.2019    source источник


Ответы (1)


Чтобы получить Минимальную цену, вы можете использовать MINIFS(), затем мультикритерий index/match для Продавца. (Конечно, при необходимости отрегулируйте диапазоны)

In B9:

=MINIFS($B$2:$B$6;$A$2:$A$6;A9)

затем введите это в C9 как формулу массива (используйте CTRL+SHIFT+ENTER)

=INDEX($C$2:$C$6;MATCH(A9&B9;$A$2:$A$6&$B$2:$B$6;0))

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

Изменить: без MINIFS() вы можете использовать =MIN(IF($A$2:$A$6=A9;$B$2:$B$6)) в качестве формулы массива.

person BruceWayne    schedule 06.02.2019
comment
У меня excel 2010, поэтому я думаю, что minif не поддерживается - person ; 06.02.2019
comment
@Nikos - работает ли это (также введите формулу массива): =MIN(IF($A$2:$A$6=A9;$B$2:$B$6))? (Вставьте B9) - person BruceWayne; 06.02.2019
comment
Я запускаю это с рабочего листа 2. Итак, у меня есть =MIN(IF(Table1[ID]=[@ID];Table1[PRICE])) но я получаю ошибку #Value - person ; 06.02.2019
comment
@Nikos - Хм, я думаю, у вас есть сравнение операторов IF в обратном порядке. =MIN(IF([@ID]=Table1[ID];Table1[PRICE]))? Опять же, убедитесь, что вы вводите формулу массива с CTRL+SHIFT+ENTER, а не только с ENTER. - person BruceWayne; 06.02.2019