excel怎么把列数据合并
发布网友
发布时间:2023-11-12 05:35
我来回答
共3个回答
热心网友
时间:2024-12-02 13:01
试试excel的“内容重排”功能:
在2003版,单击“编辑——填充——内容重排”,可以找到内容重排命令。
默认情况下,Excel 2007的内容重排功能是被关闭的,需要手动开启。具体操作方法是:单击“Office按钮”-“Excel选项”-“自定义”,在“从下列位置选择命令”里选择“所有命令”,在下面的命令列表中拖动找到“内容重排”点击“添加”即可,确定退出。然后在快速工具栏中可以看到“内容重排”按钮。
excel2010的内容重排换了个名字,称做“两端对齐”。依次单击“开始”选项卡——“编辑”组——“填充”按钮——“两端对齐”菜单项,可以找到Excel 2010的内容重排命令。
excel内容重排有什么用呢?
内容重排的功能就是将一个单元格的内容按照设定的列宽向下分配到多个单元格中。
当需要把文本按照设定的列宽向下分配到多个单元格中,就需要用到内容重排。比如在A1单元格中输入: 窝窝欢迎你的光临,然后将A列调整到两个字符宽度,点"编辑"->"填充"->"内容重排",A1内容变为"窝窝",A2为"欢迎",A3为"你的",A4内容变为"光临"。
热心网友
时间:2024-12-02 13:01
这个可以使用VBA来实现。我使用的也是excel 2007。
假设这一行数据是在sheet1中
而整理后的数据在sheet2中
使用VBA需要在选项中把开发工具加到菜单上来。
然后对数据总量做一个估计,就象我写j 是1到6,表示数据约在3*6 共计18项左右。
Public Sub aa()
Dim Adst As Range
Dim Sdst As Range
Dim i, j, t As Integer
Set Sdst = Sheet1.Range("A1:P1")
Set Adst = Sheet2.Range("A1:C4")
t = 0
For j = 1 To 6
For i = 1 To 3
t = t + 1
Adst(j, i) = Sdst(1, t)
Next
Next
End Sub
以上是单行的用法,以下是多行用法。
Public Sub aa()
Dim Adst As Range
Dim Sdst As Range
Dim i, j, t, s As Integer
Set Sdst = Sheet1.Range("A1:F2") '"A1:F2"表示为待整理数据表的数据范围
Set Adst = Sheet2.Range("A1:C4") '"A1:C4"表示为最终表的数据范围
t = 0
For i = 1 To 2 '待整数数据表的单行数据个数除以3
For j = 1 To 2 '待整理数据表的行数
t = t + 1 '最终表中行累加器
Adst(t, 1) = Sdst(j, (i - 1) * 3 + 1)
Adst(t, 2) = Sdst(j, (i - 1) * 3 + 2)
Adst(t, 3) = Sdst(j, (i - 1) * 3 + 3)
Next
Next
End Sub
热心网友
时间:2024-12-02 13:01
收藏了