有没有办法从串联结果中删除空换行符?

时间:2019-02-18 15:00:35

标签: excel-formula concatenation trim substitution

我正在使用换行符(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 :(得分:0)

如果您使用的特定顺序并不重要,并且您拥有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,则需要处理一串IF。

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)