EXCEL: Создать формулу массива из INDEX / MATCH с несколькими результатами - PullRequest
0 голосов
/ 22 апреля 2020

Моя цель - преобразовать огромный лист Excel с различными проектами, сотрудниками и отработанными часами в месяц в общий обзор для каждого сотрудника. Должна быть возможность отображать проекты, в которых участвует сотрудник, и сколько часов он работал на проект в месяц. Исходный лист выглядит примерно так:

see simplified excel sheet here

Мне удалось найти проекты, в которых работал человек А, путем фильтрации с помощью функции INDEX / MATCH. Я применил формулу ко всей строке, где сотрудники перечислены и получают несколько результатов проектов. Мой вопрос заключается в том, как преобразовать формулу в нечто более эффективное, чтобы скопировать все сопоставленные результаты (проекты) в столбец (см. 1 ).

Это то, что я имею до сих пор, если соответствует имени сотрудника в определенной области; выходные данные - первое совпадение проекта, в котором он участвует:

=INDEX(B2:J3;1;MATCH("Person A";Sheet1!B3:E3;0))

Как я могу скопировать это в нижние ячейки, чтобы скопировать все сопоставленные результаты? Помогает ли это создать формулу массива с этим?

1 Ответ

0 голосов
/ 22 апреля 2020

Вы можете использовать следующую формулу в ячейке B9:

=IFERROR(INDEX($2:$2,SMALL(IF($3:$3=$B$8,COLUMN($3:$3)-COLUMN(INDEX($3:$3,1,1))+1),ROWS(A$1:A1))),"")

Индексирует строку 2 и ищет номер столбца первого совпадения в строке 3, равный значению в B8 (= Person A) , При перетаскивании вниз он будет искать второй матч ROWS(A$1:A1) станет ROWS(A$1:A2) = 2.

Для персонажа B вы можете использовать эту формулу в ячейке B14:

=IFERROR(INDEX($2:$2,SMALL(IF($3:$3=$B$13,COLUMN($3:$3)-COLUMN(INDEX($3:$3,1,1))+1),ROWS(A$1:A1))),"")

Надеюсь это то, что вы искали.

PS Если вы вставите следующую формулу в ячейку C9, вы получите результат суммы для лица A в проекте XY в месяце 10 2019: =IF(OR($B9="",C$8=""),"",SUMPRODUCT(($B$2:$K$2=$B9)*($B$3:$K$3=$B$8)*($A$4:$A$6=C$8),B4:K6))

Примечание: при условии, что значение в ячейке C8 равно значению в ячейке A4.

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