ArrayFormula with TEXTJOIN - 将两列的数据合并到同一 row/cell
ArrayFormula with TEXTJOIN - Combine data of two columns on the same row/cell
我有一个 Google Sheet,其中包含 ID 值,以及相应的名称和攻击强度。在另一个 sheet 中,我想将名称和攻击强度组合在同一个单元格中,使用 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,它可以满足我的要求。
在名称列中:
=ArrayFormula(TEXTJOIN(CHAR(10);1;REPT(Sheet1!B:C;1*(Sheet1!A:A=A2))))
其中returns结果如下:
| GROUP ID | NAME |
|---------:|:--------------------------|
| 101 | guile |
| | 333 |
| | blanka |
| | 50 |
| | sagat |
| | 500 |
|----------|---------------------------|
| 101 | ruy |
| | 450 |
| | vega |
| | 150 |
|----------|---------------------------|
问题是我不知道如何在同一行上获得名称和攻击强度。
尝试结合 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) |
|----------|---------------------------|
我希望 sheet 看起来像这样:
| GROUP ID | NAME |
|---------:|:--------------------------|
| 101 | guile (333) |
| | blanka (50) |
| | sagat (500) |
|----------|---------------------------|
| 101 | ruy (450) |
| | vega (150) |
|----------|---------------------------|
这可能吗?
=ARRAYFORMULA(TEXTJOIN(CHAR(10), 1,
REPT(Sheet1!B:B&" ("&Sheet1!C:C&")", 1*(Sheet1!A:A=A4))))
我有一个 Google Sheet,其中包含 ID 值,以及相应的名称和攻击强度。在另一个 sheet 中,我想将名称和攻击强度组合在同一个单元格中,使用 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,它可以满足我的要求。
在名称列中:
=ArrayFormula(TEXTJOIN(CHAR(10);1;REPT(Sheet1!B:C;1*(Sheet1!A:A=A2))))
其中returns结果如下:
| GROUP ID | NAME |
|---------:|:--------------------------|
| 101 | guile |
| | 333 |
| | blanka |
| | 50 |
| | sagat |
| | 500 |
|----------|---------------------------|
| 101 | ruy |
| | 450 |
| | vega |
| | 150 |
|----------|---------------------------|
问题是我不知道如何在同一行上获得名称和攻击强度。
尝试结合 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) |
|----------|---------------------------|
我希望 sheet 看起来像这样:
| GROUP ID | NAME |
|---------:|:--------------------------|
| 101 | guile (333) |
| | blanka (50) |
| | sagat (500) |
|----------|---------------------------|
| 101 | ruy (450) |
| | vega (150) |
|----------|---------------------------|
这可能吗?
=ARRAYFORMULA(TEXTJOIN(CHAR(10), 1,
REPT(Sheet1!B:B&" ("&Sheet1!C:C&")", 1*(Sheet1!A:A=A4))))