表格中是否相互包含多个ARRAYFORMULA(多级循环)?

时间:2019-04-02 17:09:18

标签: google-sheets google-sheets-formula

我可能会以错误的方式进行操作,但实际上,我想做的是创建一个循环,将“类别”和“子类别”拉入一个公式。

父母

| 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 个答案:

答案 0 :(得分:1)

=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