Несколько ARRAYFORMULA внутри друг друга (многоуровневый цикл) в листах? - PullRequest
0 голосов
/ 02 апреля 2019

Возможно, я поступаю неправильно, но я хотел бы создать цикл, объединяющий "Категории" и "Подкатегории" в одну формулу.

Родители

| Name     |
|----------|
| Cat 1    |
| Cat 2    |
| Cat 3    |
| Cat 4    |
|----------|

Дети

| Name     |
|----------|
| Sub 1    |
| Sub 2    |
|----------|

Пытается достичь:

Окончательный результат (вариант 1)

| Name     | Child Of |
|----------|----------|
| Cat 1    |          |
| Sub 1    | Cat 1    |
| Sub 2    | Cat 1    |
| Cat 2    |          |
| Sub 1    | Cat 2    |
| Sub 2    | Cat 2    |
| Cat 3    |          |
| Sub 1    | Cat 3    |
| Sub 2    | Cat 3    |
| Cat 4    |          |
| Sub 1    | Cat 4    |
| Sub 2    | Cat 4    |
|----------|----------|

Или, Окончательный вывод (вариант 2)

| Name     | Child Of |
|----------|----------|
| Cat 1    |          |
| Cat 2    |          |
| Cat 3    |          |
| Cat 4    |          |
| Sub 1    | Cat 1    |
| Sub 2    | Cat 1    |
| Sub 1    | Cat 2    |
| Sub 2    | Cat 2    |
| Sub 1    | Cat 3    |
| Sub 2    | Cat 3    |
| Sub 1    | Cat 4    |
| Sub 2    | Cat 4    |
|----------|----------|

Я пытался объединить ARRAYFORMULA, а также поместить его внутрь себя, ноэто просто не работает.Я даже не уверен, как искать этот конкретный вопрос (хотя я дал ему лучший шанс в Google и SO и ничего не нашел).

1 Ответ

1 голос
/ 02 апреля 2019
=ARRAYFORMULA(SPLIT({FILTER(A1:A, A1:A<>""); UNIQUE(
 TRANSPOSE(SPLIT(REPT(CONCATENATE(B1:B&CHAR(9)), COUNTA(A1:A)), CHAR(9)))&"♠"&
 TRANSPOSE(SPLIT(CONCATENATE(REPT(A1:A&CHAR(9), COUNTA(B1:B))), CHAR(9))))}, "♠"))

0

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