Многомерный поиск (2 строки и 1 столбец) с метками строк вне строки - PullRequest
0 голосов
/ 29 мая 2019

Мне нужно создать функцию, которая будет заполнять ячейки Sheet2!G25:P25 в соответствии с тремя критериями: тип проекта, тип критерия и дата. Проблема в том, что критерии в Sheet 1 не выстроены для удобного использования VLOOKUP или INDEX MATCH. Я знаю, что должен перечислить формулу, которая не работает, но я, честно говоря, даже не смог подобраться ближе. В основном я работал над вариантами SUMPRODUCT, такими как

=SUMPRODUCT((Sheet1!A3:A19=Sheet2!A25)*(Sheet1!D3:D19=Sheet2!B25)*(Sheet1!G2:P2=Sheet2!G23)*Sheet1!G3:P19) 

но это, очевидно, не сработает, поскольку тип проекта и тип критерия не совпадают со строкой, в которой я нуждаюсь. Обходное решение, которое я пробовал, - OFFSET расположение ячейки, найденной в массивах типов и критериев SUMPRODUCT проекта, но ограничения в функции OFFSET отбросили меня назад. Например, справочный раздел функции OFFSET не может быть функцией, даже если функция извлекает ячейку (OFFSET(CELL("address",INDEX MATCH),0,0). Цель этого состояла в том, чтобы обмануть функцию SUMPRODUCT, заставив ее думать, что два критерия строки находятся в одном ряду. Вы, ребята, гении, когда дело доходит до этого, так что я уверен, что что-то упустил.

=SUMPRODUCT((Sheet1!A3:A19=Sheet2!A25)*(Sheet1!D3:D19=Sheet2!B25)*(Sheet1!G2:P2=Sheet2!G23)*Sheet1!G3:P19)

enter image description here

1 Ответ

0 голосов
/ 29 мая 2019

Ну, у меня на основе или на вашем примере работает следующее.Условие здесь состоит в том, что разделение строк между вашим проектом и критериями всегда находится на расстоянии 4 строки

Формула на листе 2 имеет вид

{=INDEX(Sheet1!$A$1:$U$19,MATCH(1,(Sheet1!$A$1:$A$15=$A$3)*(Sheet1!$D$4:$D$18=$B$3),0)+1,MATCH(H1,Sheet1!$A$1:$U$1,0))}

Это формула массива, введите ее с помощью usindCtrl + Shift + Enter

На листе 1, если данные расположены так же, как на вашем рисунке, это означает, что первая дата в H1 на листе 1 Первая формула, введенная на листе 2, находится в ячейке H3

«Уловка», которую я использовал, заключается в простом смещении второго поискового массива:

  • Проект использует A $ 1: $ A $ 15
  • Критерии используют $ D $ 4: $ D $ 18
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...