我试图在一个单元格中连接多个单元格值,如下所示:
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
任何人都可以帮助我使用正确的配方吗?
答案 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
将自动忽略空格。
CHAR(10)
技巧Erica suggested不适用于TEXTJOIN。公式=TEXTJOIN(",",TRUE,A1:E1)
产生Text 1,Text 2,Text 3
,这需要额外的步骤才能堆叠到单个列中。只需复制结果,然后将其粘贴为以下值,然后复制这些值,然后粘贴带有转置选项。