连接Excel中的分隔符公式的问题

时间:2012-05-08 13:24:03

标签: excel excel-vba excel-2007 excel-formula vba

我正在尝试使用分号分隔符连接每个其他列中的单元格。我拥有并且基本上工作的公式是:

=IF(SUBSTITUTE(TRIM(H2&" "&J2&" "&L2&" "&N2&" "&P2&" "&R2&" "&T2&" "&V2&" "&X2&" "&Z2)," ","; ")="","",SUBSTITUTE(TRIM(H2&" "&J2&" "&L2&" "&N2&" "&P2&" "&R2&" "&T2&" "&V2&" "&X2&" "&Z2)," ","; "))

但我遇到的问题是,有些单元格包含带空格的文本,公式是用分隔符代替合法空格。我该如何纠正?

提前致谢!

2 个答案:

答案 0 :(得分:4)

您正在调用SUBSTITUTE空格字符,这些字符不仅是您的临时分隔符,还是连接字符串中的模式。

肮脏而快速的解决方案是使用不会出现在H2, L2, N2...单元格中的临时分隔符模式。在这里,我选择###,但任何其他模式都可以解决问题。

=IF(SUBSTITUTE(TRIM(H2&"###"&J2&"###"&L2&"###"&N2&"###"&P2&"###"&R2&"###"&T2&"###"&V2&"###"&X2&"###"&Z2),"###","; ")="","",SUBSTITUTE(TRIM(H2&"###"&J2&"###"&L2&"###"&N2&"###"&P2&"###"&R2&"###"&T2&"###"&V2&"###"&X2&"###"&Z2),"###","; "))

答案 1 :(得分:1)

这会有用吗?

=IF(COUNTA(H2,J2,L2,N2,P2,R2,T2,V2,X2,Z2),H2&";"&J2&";"&L2&";"&N2&";"&P2&";"&R2&";"&T2&";"&V2&";"&X2&";"&Z2,"")

或者只有当你有空白时才显示分隔符或者尝试这个版本

=SUBSTITUTE(IF(H2="","",";"&H2)&IF(J2="","",";"&J2)&IF(L2="","",";"&L2)&IF(N2="","",";"&N2)&IF(P2="","",";"&P2)&IF(R2="","",";"&R2)&IF(T2="","",";"&T2)&IF(V2="","",";"&V2)&IF(X2="","",";"&X2)&IF(Z2="","",";"&Z2),";","",1)