我将数据合并到A列中,如下所示:
= B2&","& C2&","& D2
A | B | C | D
ES,, ES
DE,NL,IT DE NL IT
CH,, CH
CH,, CH
DE,BE,AT DE BE AT
FR,BE, FR BE
CH,SG, CH SG
AT,CH,ES AT CH ES
然而,如果列中没有值,则附加例如额外的,我不想要的。所以结果应该像
A | B | C | D
ES ES
DE,NL,IT DE NL IT
CH CH
CH CH
DE,BE,AT DE BE AT
FR,BE FR BE
CH,SG CH SG
AT,CH,ES AT CH ES
怎么做?
答案 0 :(得分:4)
如果您使用的是Excel 2016,则可以使用TEXTJOIN功能与分隔符连接,该分隔符还允许您跳过空白单元格。
例如:
=TEXTJOIN(",",TRUE,B2:D2)
将返回:
A | B | C | D
ES ES
DE,NL,IT DE NL IT
答案 1 :(得分:2)
使用此公式=B2&IF(C2<>"",","&C2,"")&IF(D2<>"",","&D2,"")...
或者
连接单元格忽略或跳过使用用户定义函数的空白
如果需要组合多个单元格,上面的公式将太复杂而无法执行,因此,您可以使用以下用户定义函数来解决它。
按住Excel中的Alt + F11键,打开Microsoft Visual Basic for Applications窗口。
点击插入&gt;单击模块,然后在模块窗口中粘贴以下宏。
VBA代码:连接单元格忽略空格:
Function Concatenatecells(ConcatArea As Range) As String
'updateby Extendoffice 20151103
For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & "/"): Next
Concatenatecells = Left(nn, Len(nn) - 1)
End Function
答案 2 :(得分:1)
=IF(COUNTA(B2:D2)=1,B2,IF(COUNTA(B2:D2)=2,B2&","&C2,B2&","&C2&","&D2))