excel把几列数据合并到一列单元格中并用分隔符分开
我要处理的数据量非常巨大。如下表ABCD1212324567我想把它变成A1,21,2,324,5,6,7如果用普通的=A1&","&B1","&C1&","&D1就会变...
我要处理的数据量非常巨大。如下表
A B C D
1 2
1 2 3
2
4 5 6 7
我想把它变成
A
1,2
1,2,3
2
4,5,6,7
如果用普通的=A1&","&B1","&C1&","&D1就会变成
A
1,2,,
1,2,3,
2,,,
4,5,6,7 展开
A B C D
1 2
1 2 3
2
4 5 6 7
我想把它变成
A
1,2
1,2,3
2
4,5,6,7
如果用普通的=A1&","&B1","&C1&","&D1就会变成
A
1,2,,
1,2,3,
2,,,
4,5,6,7 展开
6个回答
展开全部
为了使公式更简单化,另取两空白列,这里假设E、F列,且数据从第二行开始,则E2、F2分别对应输入下面公式,回车下拉,E列就是你要的结果
=IF(A2="","",A2&",")&(IF(B2="","",B2&","))&(IF(C2="","",C2&","))&(IF(D2="","",D2))
=IF(RIGHT(E2,1)=",",LEFT(E2,LEN(E2)-1),E2)
=IF(A2="","",A2&",")&(IF(B2="","",B2&","))&(IF(C2="","",C2&","))&(IF(D2="","",D2))
=IF(RIGHT(E2,1)=",",LEFT(E2,LEN(E2)-1),E2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用vba代码 ,把下面的代码放在该表模块中(右击表名 》查看代码)
数据输出在E列:
Sub aa()
Dim str1 As String
For Each c In Range("a1:a6")
str1 = ""
i = c.Row
For j = 1 To 4
If Cells(i, j).Value <> "" Then
str1 = str1 & "," & Cells(i, j).Value
End If
Next
str1 = Right(str1, Len(str1) - 1)
MsgBox str1
Cells(i, 5).Value = str1
Next c
End Sub
数据输出在E列:
Sub aa()
Dim str1 As String
For Each c In Range("a1:a6")
str1 = ""
i = c.Row
For j = 1 To 4
If Cells(i, j).Value <> "" Then
str1 = str1 & "," & Cells(i, j).Value
End If
Next
str1 = Right(str1, Len(str1) - 1)
MsgBox str1
Cells(i, 5).Value = str1
Next c
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有个合并函数 =CONCATENATE(A1,B1,C1,D1)
更多追问追答
追问
是啥么,我很想知道呀。。。我也知道有。。。
追答
有个合并函数 =CONCATENATE(A1,B1,C1,D1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你就先用&连接起来,然后通过复制-选择性粘贴-数值把公式转为数值,现在的问题就是去掉多余的逗号,B1输入公式:
=LEFT(A1,LEN(A1)+LEN(A1)-7)
公式下拉即可
这个公式只适用于最多四列数据,如果最多的数据有5列的话,最后那个7改为9,6列的话改为11,一次类推。
=LEFT(A1,LEN(A1)+LEN(A1)-7)
公式下拉即可
这个公式只适用于最多四列数据,如果最多的数据有5列的话,最后那个7改为9,6列的话改为11,一次类推。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询