1. excel中怎样批量将行数据转换成列数据
你好,楼主想要的功能,可以使用VBA程序实现。
(一)VBA程序代码如下:(代码运行之前请做好数据备份,以免丢失) Sub abcd()Dim i1, i2, i3, strOn Error Resume NextSet mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表Sheet1For i1 = 1 To 1000 '从第1行到1000行 If mysheet1.Cells(i1, 1) <> "" Then '如果单元格不是空白,则 str = Mid(mysheet1.Cells(i1, 1), 1, 1) '截取第一个字符 If IsNumeric(str) = True Then '如果截取的字符是数字,则 i2 = i1 i3 = 1 Else i3 = i3 + 1 mysheet1.Cells(i2, i3) = mysheet1.Cells(i1, 1) '把ABCD项写入含有数字的那一行 End IfEnd IfNextEnd Sub (二)程序运行前后的结果如下图所示,望笑纳。 。
2. Excel 表格 批量将行数据换成列数据
可以使用公式来解决你的问题。
1、首先确认你的原始表格是从SHEET1的A1单元格开始排列的。
2、在sheet2的a1单元格中输入如下公式:
=IF(MOD(ROW(),3)=1,OFFSET(Sheet1!A$1,TRUNC(ROW()/3),0),IF(MOD(ROW(),3)=2,OFFSET(Sheet1!B$1,TRUNC(ROW()/3),0),IF(MOD(ROW(),3)=0,OFFSET(Sheet1!C$1,TRUNC(ROW()/3)-1,0),"")))
3、将此公式向下拖动,需要多少拖动多少。
任务完成
3. excel中怎么把多行多列转换成一行多列
参照此公式,在sheet2提取转换,在名称框(编辑栏左边,列标a上面)输入a1:av5(因,我只模拟了12列20行数据,所以提取过来的范围是a1:av5,你自己计算下应该是什么范围,用=address(1,360,4)可获取第360列(每一行是360个数据)第1行的单元格地址)回车,直接输入公式=INDEX(Sheet1!$A:$L,ROUNDUP(COLUMN(AV5)/12,0)+ROW(AV5)*30-30,MOD(COLUMN(AV5)-1,12)+1)同时按ctrl+回车结束。
4. EXCEL批量行转列(按图所示)
在J2:L2中分别输入或复制粘贴下列公式 =INDEX(A:A,MOD(ROW(A1)-1,5)+2) 【或=INDEX(A:A,MOD(ROW(A5),5)+2)】 =INDEX($1:$1,,INT((ROW(A1)-1)/5)+2) 【或=INDEX($1:$1,,INT(ROW(A10)/5))】 =INDEX($B$2:$F$6,MATCH(J2,$A$2:$A$6,),MATCH(K2,$B$1:$F$1,)) 选择J2:L2,下拉填充 如果A不止5行,将J2K2公式中的5修改为相应的行数。
。
5. EXCEL 如何把多列多行转换成一列多行
1. 需要将A列到C列的数值复制到一列中。
2. 点击“剪贴板”右下角的小按钮,在页面左面弹出了剪贴板对话框。
3. 拖动鼠标左键选中A2:C5单元格区域,点击鼠标右键,在弹出的菜单中选择“复制”选项。
4. 双击F2单元格,然后点击粘帖板中复制的内容,将内容复制到F2单元格中。
5. 将光标移动到公式编辑栏中,选中数据内容,点击鼠标右键,弹出的菜单中选择“复制”选项。
6. 然后按“ESC”键,按“CTUL+V”组合键将数据内容重新复制到F2单元格。
7. 调整列宽,依次点击【开始】-【填充】-【两端对齐】选项。
8. 弹出“Mircrosoft Office Excel”对话框,点击【确定】按钮。
9. 可以看到数值就被复制过来了且在一列中列式。此时,数值是文本格式,点击小按钮,在弹出的选项中选择“转换为数字”选项,这样文本格式的内容就转换成了数值形式。
6. excel怎麽批量把横排数据变成一列
单看你的例子
方法很多
假设你的数据在A1:J1
最快捷的基本操作
复制原数据,右击目的地单元格,选择性粘贴,转置,确定
公式的话
=OFFSET(A$1,,ROW(A1)-1)
=INDEX($1:$1,ROW(1:1))
=INDIRECT(ADDRESS(1,ROW(1:1)))
=INDIRECT(CHAR(64+ROW(1:1))&1)
往下拖拉填充
=TRANSPOSE(A1:J1)
多单元格数组公式
7. 如何把excel多列(每列不同行),变成一列
可以使用如下宏代码实现操作目的。
Sub ComCol()
On Error Resume Next
Dim i As Single
Dim Fcol, Ecol As Single
Dim myRange As Range
Set myRange = Application.InputBox("选择区域", Type:=8)
Fcol = Range(Left(myRange.Address, 4)).Column
Ecol = Range(Right(myRange.Address, 4)).Column
For i = Fcol + 1 To Ecol
Range(Cells(1, i), Cells(Cells(65535, i).End(xlUp).Row, i)).Copy Destination:=Cells(Cells(65535, Fcol).End(xlUp).Row + 1, Fcol)
Next
End Sub