Динамические массивы Excel - создание нескольких динамических массивов на основе другого
Я испытываю новые функциональные возможности версий Microsoft Excel для Microsoft Office 365, динамических массивов и пытаюсь сделать то, что я хотел сделать в течение некоторого времени, простым способом.
По сути, я хотел бы знать, возможно ли использовать каждое из значений динамического массива в качестве входных данных для создания матрицы динамических массивов, или даже просто создать матрицу ниже (таблица 3) вместе только с одним массивом,
Таблицы 1 и 2 ниже представляют собой структурированные таблицы.
Таблица 1 - Клиенты:
| Client | Client Name |
|--------|-------------|
| C001 | Client 1 |
| C002 | Client 2 |
| C003 | Client 3 |
Таблица 2 - Документы:
| Document | Doc Description | Related Client |
|----------|-----------------|----------------|
| D001 | Doc 1 | C002 |
| D002 | Doc 2 | C002 |
| D003 | Doc 3 | C001 |
| D004 | Doc 4 | C002 |
| D005 | Doc 5 | C001 |
Таблица 3 - Предполагаемая динамическая таблица:
| Dynamic Array of "Clients" | Client 1 (*1) | Client 2 | Client 3 |
|----------------------------|---------------|----------|----------|
| Dyn. Arrays of "Documents" | D003 (*2) | D001 | N/A |
| | D005 | D002 | |
| | | D004 | |
В таблице выше (*1) будет динамический массив, созданный с чем-то вроде:
=TRANSPOSE(Table1[Client])
И (*2) будет динамический массив, созданный с чем-то вроде:
=FILTER(Table2[Document], Table2[Related Client]={Client}, "N/A"}
Проблема заключается в том, что мне не удалось найти способ создания всех динамических массивов "документов" таким образом, чтобы их число автоматически увеличивалось вместе с динамическим массивом "клиенты".
Т.е. я могу использовать простые относительные ссылки на ячейки для {Client}, но когда динамический массив "Клиенты" изменяется (увеличивается), это не будет динамически регулировать область действия динамических массивов Document. Я подумал, что достаточно использовать ссылку на динамический массив, но она также не работает ({Client} #).
Я также пытался сделать это в структурированной таблице, но, к сожалению, динамические массивы в них не работают.
Это возможно?
Редактировать: я ищу ответ, используя динамические массивы в их степени, пожалуйста.
1 ответ
Ваша проблема может быть решена с помощью Helper Column along side of Table 2
:
Как это устроено:
Введите эту формулу в ячейку
O40
и заполните его.=INDEX(M$34:M$36,MATCH(N40,L$34:L$36,0))
В клетке
M48
введите эту формулу массива (CSE), нажмите Ctrl+Shift+Enter и заполните таблицу.{=IFERROR(INDEX($M$40:$M$44, SMALL(IF((M$47=$O$40:$O$44), MATCH(ROW($O$40:$O$44), ROW($O$40:$O$44)), ""),ROWS($A$1:A1))),"")}
NB
- Вы можете заменить
Blank
сNot Aval
, текстовое сообщение в последней части формулы Array,ROWS($A$1:A1))),"")
и это должно быть написано как,ROWS($A$1:A1))),"Not Aval.")
,
При необходимости измените ссылки на ячейки в формуле.