Excel 使用分隔符合并列'';唐';如果不存在值,则不显示分隔符
我将数据合并到列A中,如下所示: =B2&“,”与C2&“,”与D2 但是,如果列中没有值,它会附加我不想要的内容,例如extra、。所以结果应该是这样的Excel 使用分隔符合并列'';唐';如果不存在值,则不显示分隔符,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,我将数据合并到列A中,如下所示: =B2&“,”与C2&“,”与D2 但是,如果列中没有值,它会附加我不想要的内容,例如extra、。所以结果应该是这样的 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
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
如何做到这一点 使用此公式
=B2&IF(C2“,”和C2“,”和IF(D2“,”和D2“)…
或
使用用户定义的函数连接单元格忽略或跳过空格
如果需要组合多个单元格,则上述公式将过于复杂,无法执行,因此,您可以使用以下自定义函数进行求解
Function Concatenatecells(ByVal ConcatArea As Range, Optional ByVal Separator As String = "/") As String
'updateby Extendoffice 20151103
For Each n In ConcatArea: nn = IIf(n = "", nn & "", nn & n & Separator): Next
Concatenatecells = Left(nn, Len(nn) - Len(Separator))
End Function
如果您使用的是Excel 2016,则可以使用该函数连接分隔符,该分隔符还允许您跳过空白单元格 例如:
=TEXTJOIN(",",TRUE,B2:D2)
将返回:
A | B | C | D
ES ES
DE,NL,IT DE NL IT
安德烈亚斯是对的。。。应为=B2&IF(C2“,”和C2“,”和IF(D2“,”和D2“)。。。。否则,第一个值会出现两次。但它是有效的。。。谢谢(虽然我有20列,公式很大:-)
A | B | C | D
ES ES
DE,NL,IT DE NL IT
=IF(COUNTA(B2:D2)=1,B2,IF(COUNTA(B2:D2)=2,B2&","&C2,B2&","&C2&","&D2))