Есть ли способ удалить пустой разрыв строки из результата конкатенации? - PullRequest
0 голосов
/ 18 февраля 2019

Я объединяю ячейки из разных строк в одну ячейку, используя разрыв строки (char(10)).Поскольку ячейки с пустыми полями объединяются, в процессе добавляются пустые строки.Есть ли способ изменить мою формулу, чтобы удалить эти пустые строки?

    =IF(COUNTBLANK(A2);"";CONCATENATE(E2; CHAR(10); D2; CHAR(10); C2; CHAR(10); F2; CHAR(10); G2; CHAR(10); H2; CHAR(10); I2))

results with empty lines

1 Ответ

0 голосов
/ 18 февраля 2019

Если ваш конкретный заказ, который вы используете, не важен, и у вас есть OFFICE 365 Excel, вы можете использовать TEXTJOIN:

=IF(A2="","",TEXTJOIN(CHAR(10),TRUE,C2:I2)

Если это важно, и у вас есть OFFICE 365, тогда вы можете использовать TEXTJOINкак формула массива:

=IF(A2="","",TEXTJOIN(CHAR(10),TRUE,CHOOSE({1,2,3,4,5,6,7},E2,D2,C2,F2,G2,H2,I2))

Будучи формулой массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.


Если у вас нетOffice 365, то вам нужно будет связать строку IFs

IF(E2<>"",CHAR(10) & E2,"") & IF(D2<>"",CHAR(10) & D2,"") & ...

Заверните ее в середине, чтобы удалить первый CHAR(10)

MID(IF(E2<>"",CHAR(10) & E2,"") & IF(D2<>"",CHAR(10) & D2,"") & ...,2,999)
...