excel:请问如何将多列合并成一列

来源:百度知道 编辑:UC知道 时间:2024/05/25 19:42:53
我有多列表格,每个列的数目也不一定,请问如何将这些列合并成一列?

比如
A列 B列..... N列
1 2 7
1 2 7
1 2 7
1 2 8
0 2 9
9 7
5
5

已经有类似答案,但我看不懂,所以再提问下,希望有清楚点的答案。
合并成一列后,应该是:
1111095522222777789(先A列,后B列,最后N列)

不是三列合并成一列的显示方式。

也就是说,像"连接函数 =CONCATENATE(a1,b1,c1,d1,e1,...,n1) “
这个公式将同一行的数字合并起来的,所以是错的。

至今天10月13日22.50分为止,本人还无满意答案。所以决定提供表单给你计算,请打算得分的朋友找我拿表单,把数字编好后发给我,就给最佳答案。

这样的问题是必须用宏来完成的

宏代码如下:
Sub yueliang()
Dim i, j, r As Integer
r = 1
For i = 21 To 3 Step -1
j = Cells(65536, i).End(xlUp).Row
Range(Cells(6, i), Cells(j , i)).Copy Cells(r, 25)
r = r + j -5
Next
End Sub

改好的表已发到你的邮箱,请查改。

还是用连接函数
=CONCATENATE(a1,b1,c1,d1,e1,...,n1)
再拖填充柄。
但此函数最多30个参数,如果超过30列数据要连接,用&运算符
=a1&b1&c1&d1...&n1

这两种答案楼上都有人讲过了,你试一下。

或用VBA:

sub xx()
for i=1 to 1000 '设有1000行数据
for j=1 to 40 '设最多有40列数据
cells(i,41)=cells(i,41)&cells(i,j) '结果显示在第41列
next j,i
endsub

1.工具--宏-录制新宏-确定。

2.在宏窗口上“停止录制”

3.工具-宏-宏,点击macro1-编辑,进入一个窗口,把里面的内容全部删除,粘贴下面代码:

Sub 组合()
For i = 1 To 10 '设有10列,可改
For j = 1 To 90 '设最多有90行,可改
Cells(1, 11) = Cells(1, 11) & Cells(j, i) '结果显示在第1行、11列,可改
Next
Next
End Sub

再:工具-宏-宏,选择“组合”,单击执行按钮
★★★★★★★★★