如何在Excel中连接单元格时忽略空白单元格

时间:2016-12-28 16:50:32

标签: excel-formula

我试图在一个单元格中连接多个单元格值,如下所示:

Column A  Column B  Column C  Column D  Column E  Column F
Blank     Text 1    Text 2    Blank     Text 3

我将值从A连接到E

我的公式是

A1&CHAR(10)&B1&CHAR(10)&C1&CHAR(10)&D1&CHAR(10)&E1

我在F栏中得到的是

Blank
Text 1
Text 2
Blank
Text 3

我正在寻找的是

Text 1
Text 2
Text 3

任何人都可以帮助我使用正确的配方吗?

6 个答案:

答案 0 :(得分:4)

您需要包含条件以检查单元格是否具有值或为空。 If the cell is empty (via ISBLANK()),然后什么都不返回;否则,返回单元格的值加上回车符。

IF(ISBLANK(A3),"",A3&CHAR(10))

因此,对于您的五列公式(为了便于阅读而添加了换行符):

CONCATENATE(
  IF(ISBLANK(A1),"",A1&CHAR(10)),
  IF(ISBLANK(B1),"",B1&CHAR(10)),
  IF(ISBLANK(C1),"",C1&CHAR(10)),
  IF(ISBLANK(D1),"",D1&CHAR(10)),
  IF(ISBLANK(E1),"",E1)
)

答案 1 :(得分:0)

另一个选项:空单元格将在一行中生成两个换行符。在您的公式周围包裹替代品以移除它们。做两次以处理所有可能的事件。

=SUBSTITUTE(SUBSTITUTE(A1&CHAR(10)&B1&CHAR(10)&C1&CHAR(10)&D1&CHAR(10)&E1&CHAR(10)&F1,CHAR(10)&CHAR(10),CHAR(10)),CHAR(10)&CHAR(10),CHAR(10))

答案 2 :(得分:0)

这是一个公式,如果数据集中的任何单元格包含一个以上的单词(例如纽约),该公式将非常有用:

= CONCATENATE(
       IF(COUNTBLANK(B2)=1,"",B2&CHAR(10)&","),
       IF(COUNTBLANK(C2)=1,"",C2&CHAR(10)&","),
       IF(COUNTBLANK(D2)=1,"",D2&CHAR(10)&","),
       IF(COUNTBLANK(E2)=1,"",E2&CHAR(10)&","),
       IF(COUNTBLANK(F2)=1,"",F2&CHAR(10))
)  

请注意,我在公式中使用了COUNTBLANK()参数,因为与ISBLANK()不同,COUNTBLANK()认为空格(即 )为空并返回1。公式中每个单元格中以空格分隔的单词不再以逗号分隔。

答案 3 :(得分:0)

我只是在努力解决由CONCATENATE()在空白单元格上出错导致的类似问题。相反,您可以使用TEXTJOIN([delimeter],[ignore blanks],[text1],[text2] ...)

赞:

<a id="fancybox-link" data-fancybox  data-type="ajax" data-src="/thePage.jsp .page" href="javascript:;">New Fancybox Link</a>

答案 4 :(得分:0)

= CONCATENATE(
       IF(COUNTBLANK(I2)=1,"",I2&CHAR(10)),
       IF(COUNTBLANK(J2)=1,"",","&J2&CHAR(10)),
       IF(COUNTBLANK(K2)=1,"",","&K2&CHAR(10)),
       IF(COUNTBLANK(L2)=1,"",","&L2&CHAR(10)),
       IF(COUNTBLANK(M2)=1,"",","&M2&CHAR(10)),
)

答案 5 :(得分:0)

=TEXTJOIN(",",TRUE,A1:E1)

Excel 2019和Office 365版本中的新TEXTJOIN function可以轻松完成此操作,而无需所有IF语句。

  

TEXTJOIN函数将来自多个范围和/或   字符串,并包括您在每个文本值之间指定的定界符   将被合并。如果定界符是空文本字符串,则此   函数将有效地连接范围。

特别是对于有关忽略空格的原始问题,将ignore_empty参数设置为TRUE将自动忽略空格。

excel table

CHAR(10)技巧Erica suggested不适用于TEXTJOIN。公式=TEXTJOIN(",",TRUE,A1:E1)产生Text 1,Text 2,Text 3,这需要额外的步骤才能堆叠到单个列中。只需复制结果,然后将其粘贴为以下值,然后复制这些值,然后粘贴带有转置选项。