excel中怎样批量将行数据转换成列数据
发布网友
发布时间:2022-04-23 04:20
我来回答
共5个回答
热心网友
时间:2023-10-14 15:00
你好,楼主想要的功能,可以使用VBA程序实现。
(一)VBA程序代码如下:(代码运行之前请做好数据备份,以免丢失)
Sub abcd()
Dim i1, i2, i3, str
On Error Resume Next
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表Sheet1
For 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 If
End If
Next
End Sub
(二)程序运行前后的结果如下图所示,望笑纳。
热心网友
时间:2023-10-14 15:01
如上图输入并下拉。
如图进行查找替换,全部替换。
完成。
热心网友
时间:2023-10-14 15:01
B1单元格写公式:
=IF(INT((ROW()-1)/5)=(ROW()-1)/5,INDEX($A:$A,COLUMN(B$1)+5*INT((ROW()-1)/5),1),"")
然后向右拖动填充公式到E1单元格,然后选定B1:E1区域,然后向下拖动这个单元格区域的公式填充公式即可。
热心网友
时间:2023-10-14 15:02
你用什么截图的?看不清里面是什么。
往后抓图,按键盘上的“PrtSc2 SysRq”键就可以抓图了,再通过Q或其他载体保存起来就是一个jpg照片文档。
B1输入
=IF(MOD(ROW(),5)=1,OFFSET($A1,COLUMN(A:A),),"")
回车并向右填充到E1,再一起向下填充。
热心网友
时间:2023-10-14 15:02
写代码可以处理,需要具体的文件