ArrayFormula with TEXTJOIN - объединяет данные двух столбцов в одной строке / ячейке - PullRequest
0 голосов
/ 04 июня 2019

У меня есть один Google Sheet, который содержит ID-значения вместе с соответствующими Именами и силой атаки. На другом листе я хочу объединить имена и силу атаки в одной и той же ячейке, используя идентификатор в качестве ссылки - разделенный разрывами строк.

Лист1

Лист1 выглядит так:

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

Лист2

Прямо сейчас я создал следующую 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                       |
|----------|---------------------------|

Проблема в том, что я не могу понять, как получить имя и силу атаки на одной линии.

Пробное объединение с 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 Ответ

1 голос
/ 04 июня 2019
=ARRAYFORMULA(TEXTJOIN(CHAR(10), 1, 
 REPT(Sheet1!B:B&" ("&Sheet1!C:C&")", 1*(Sheet1!A:A=A4))))

0

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