带有TEXTJOIN的ArrayFormula-在同一行/单元格上合并两列的数据

时间:2019-06-04 10:54:45

标签: google-sheets concatenation google-sheets-formula array-formulas textjoin

我有一个Google表格,其中包含ID值以及相应的名称和攻击力。在另一张纸中,我想使用ID作为参考在同一单元格中组合名称和攻击力-用分行符分隔。

Sheet1

Sheet1看起来像这样:

| GROUP ID | NAME      | ATTACK POWER  |
|---------:|:----------|--------------:|
|      101 | guile     |           333 |
|----------|-----------|---------------|
|      101 | blanka    |            50 |
|----------|-----------|---------------|
|      101 | sagat     |           500 |
|----------|-----------|---------------|
|      207 | ruy       |           450 |
|----------|-----------|---------------|
|      207 | vega      |           150 |

Sheet2

现在,我已经创建了以下ArrayFormula,它可以执行我想要的操作。

在NAME列中: =ArrayFormula(TEXTJOIN(CHAR(10);1;REPT(Sheet1!B:C;1*(Sheet1!A:A=A2))))

哪个返回以下结果:

| GROUP ID | NAME                      |
|---------:|:--------------------------|
|      101 | guile                     |         
|          | 333                       |
|          | blanka                    |
|          | 50                        |
|          | sagat                     |
|          | 500                       |
|----------|---------------------------|
|      101 | ruy                       |
|          | 450                       |
|          | vega                      |
|          | 150                       |
|----------|---------------------------|

问题是我无法弄清楚如何在同一行上获得Name和Attack Power。

尝试与CONCATENATE结合使用:=CONCATENATE(ArrayFormula(TEXTJOIN(CHAR(10);1;REPT(Sheet1!B:B;1*(Sheet1!A:A=A2))));" (";ArrayFormula(TEXTJOIN(CHAR(10);1;REPT(Sheet1!C:C;1*(Sheet1!A:A=A2))));")")-但不太正确:

| GROUP ID | NAME                      |
|---------:|:--------------------------|
|      101 | guile                     |         
|          | blanka                    |
|          | sagat (333                |
|          | 50                        |
|          | 500)                      |
|----------|---------------------------|
|      101 | ruy                       |
|          | vega (450                 |
|          | 150)                      |
|----------|---------------------------|

相反,我希望工作表看起来像这样:

| GROUP ID | NAME                      |
|---------:|:--------------------------|
|      101 | guile (333)               |         
|          | blanka (50)               |
|          | sagat (500)               |
|----------|---------------------------|
|      101 | ruy (450)                 |
|          | vega (150)                |
|----------|---------------------------|

这可能吗?

1 个答案:

答案 0 :(得分:1)

=ARRAYFORMULA(TEXTJOIN(CHAR(10), 1, 
 REPT(Sheet1!B:B&" ("&Sheet1!C:C&")", 1*(Sheet1!A:A=A4))))

0