excel中怎样批量将行数据转换成列数据
如图所示,怎样批量的将第一题的ABCD选项A2、A3、A4、A5转换到B1、C1、D1、E1中,第二题的ABCD选项A7、A8、A9、A10转换到B6、C6、D6、E6,...
如图所示,怎样批量的将第一题的ABCD选项A2、A3、A4、A5转换到B1、C1、D1、E1中,第二题的ABCD选项A7、A8、A9、A10转换到B6、C6、D6、E6,以此类推,最终把每一题的选项有行转换到相应的列中
展开
5个回答
展开全部
你好,楼主想要的功能,可以使用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
(二)程序运行前后的结果如下图所示,望笑纳。
展开全部
B1单元格写公式:
=IF(INT((ROW()-1)/5)=(ROW()-1)/5,INDEX($A:$A,COLUMN(B$1)+5*INT((ROW()-1)/5),1),"")
然后向右拖动填充公式到E1单元格,然后选定B1:E1区域,然后向下拖动这个单元格区域的公式填充公式即可。
=IF(INT((ROW()-1)/5)=(ROW()-1)/5,INDEX($A:$A,COLUMN(B$1)+5*INT((ROW()-1)/5),1),"")
然后向右拖动填充公式到E1单元格,然后选定B1:E1区域,然后向下拖动这个单元格区域的公式填充公式即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写代码可以处理,需要具体的文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询