Excel поиск для одного и нескольких критериев вместе - PullRequest
0 голосов
/ 20 июня 2019

У меня есть 10000 строк данных в Excel в столбце A & B и новый лист со всеми данными из столбца A. Что я хочу сделать VLOOKUP из листа 1 в лист 2. Но в столбце есть несколько примеровA с 2 значениями в B.

Пример:

Лист 1

enter image description here

На листе 2, если VLOOKUP сделано для оранжевого цвета, я ожидаю 20,30

Я испробовал один критерий =VLOOKUP(A2,sheet2!a1,false), который работал для яблока

Любые предложения о том, как могут быть оба ожидаемых результатасделано вместе

1 Ответ

0 голосов
/ 20 июня 2019

Не уверен, поможет ли это, но вот решение с формулой:

form1

Формула массива в ячейке E2 (Ctrl + Shift + Enter):

=SUMPRODUCT(LARGE((--(IF(LEN($A$2:$A$6),$A$2:$A$6,OFFSET($A$2:$A$6,-1,0))=$D2))*($B$2:$B$6),1))

В столбце F необходимо заменить «1» (в самом конце формулы) на число «2».

Несколько примечаний:

  • ваш набор данных не может начинаться со строки 1, в противном случае формула OFFSET не будет работать.
  • обе формулы (столбцы E & F) ищут первое и второе наибольшее число, соответствующее аргументу (столбец)D).Если второй не существует, он возвращает 0.

Однако, учитывая размер вашего набора данных, стоит рассмотреть решение VBA.

Редактировать: с поправкой на столбец B = текст

Используйте следующую формулу массива в ячейке E2 (Ctrl + Shift + Enter):

=IFERROR(INDEX($B$2:$B$6,SUMPRODUCT(LARGE((--(IF(LEN($A$2:$A$6),$A$2:$A$6,OFFSET($A$2:$A$6,-1,0))=$D2))*(ROW($B$2:$B$6)),1)-1)),"")

Аналогичная формула массива в ячейке F2 (Ctrl +Shift + Enter):

=IFERROR(INDEX($B$2:$B$6,SUMPRODUCT(LARGE((--(IF(LEN($A$2:$A$6),$A$2:$A$6,OFFSET($A$2:$A$6,-1,0))=$D2))*(ROW($B$2:$B$6)),2)-1)),"")

Результат:

adjusted

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...