excel一行较多单元格文本合并,并且在每个单元格合并的时候自动加入空格。

eg.1行几个单元格内容分别为:A1 中国,B1 广东省,C1 深圳市,D1 南山区,E1科华北路,F1 6号;(以上内容无空格)
在Z1单元格中进行合并计算后的结果为: 中国 广东省 深圳市 南山区 科华北路 6号;
如何实现?另外如果加入的不是空格,而是其他字符呢?
如结果是:中国*广东省*深圳市*南山区*科华北路*号

这个用EXCEL自身的函数可以实现,但比较麻烦
建议使用下面的自定义函数
ALT+F11打开VBE窗口,点击菜单"插入">>>"模块"
粘贴下面的代码
Function Hebing(rng As Range, str As String)
Dim rg As Range, L As String
L = ""
For Each rg In rng
L = L & rg & str
Next
Hebing = Left(L, Len(L) - 1)
End Function

回到工作表中Z1单元格输入公式
=Hebing(A1:F1," ")
或
=Hebing(A1:F1,"*")

这样就可以直接合并了
而且第二参数可以指定,注意指定的参数要用引号追问

这个在WPS中是一样的使用么?代码兼容不?

追答

WPS中如果有VBA就可以用,如果没有,就不可以,貌似WPS应该不支持VBA

追问

装了一个excel2003版本,终于可以进入VB编辑器,不过,按照方法在单元格中得到的结果是 #NAME? 还请老师指教。

追答

你必须将宏安全性设置为中,并启用宏. 有Q就加一下510809100

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-09
使用文本连接符&
=A1&“ "&B1&“ "&C1&“ "&D1&“ "&E1&“ "&F1
如果要其他字符,可以
=A1&“* "&B1&“* "&C1&“* "&D1&“* "&E1&“ *"&F1
第2个回答  2012-09-09
可以用一个简单的函数来实现,但每个单元格之间要加一个其它字符,则要先把行转置为列。变换一下就能很简单,很快地实现了。如果楼主感兴趣,请追问。
第3个回答  2012-09-09
Z1中插入如下函数
=CONCATENATE(A1,"*",B1,"*",C1,"*",D1,"*",E1,"*",F1,"")
将双引号中的 * 换成你想用的符号
第4个回答  2012-09-09
Z1输入:=A1&" "&B1&" "&C1&" "&D1&" "&E1&" "&F1
Z1输入:=A1&"*"&B1&"*"&C1&"*"&D1&"*"&E1&"*"&F1
想加什么就把" "中间的内容换成什么。
相似回答