请教EXCEL用宏批量隔行转置
比如原来表格中是这样的蔡晓平80100701003502014.1.25田彦辉80100100803602014.1.25杜拓70100100803502014.1.25...
比如原来表格中是这样的
蔡晓平 80 100 70 100 350 2014.1.25
田彦辉 80 100 100 80 360 2014.1.25
杜拓 70 100 100 80 350 2014.1.25
赵竹欣 100 100 70 80 350 2014.1.25
现在利用函数转置成
姓名
学号
学科
分数
考试时间
蔡晓平
123456
学科1
80
2014.1.25
蔡晓平
123456
学科2
100
2014.1.25
蔡晓平
123456
学科3
70
2014.1.25
蔡晓平
123456
学科4
100
2014.1.25
蔡晓平
123456
学科5
350
2014.1.25
不知道可否在函数中实现。
上面的文字显示的不对,请看图片。 展开
蔡晓平 80 100 70 100 350 2014.1.25
田彦辉 80 100 100 80 360 2014.1.25
杜拓 70 100 100 80 350 2014.1.25
赵竹欣 100 100 70 80 350 2014.1.25
现在利用函数转置成
姓名
学号
学科
分数
考试时间
蔡晓平
123456
学科1
80
2014.1.25
蔡晓平
123456
学科2
100
2014.1.25
蔡晓平
123456
学科3
70
2014.1.25
蔡晓平
123456
学科4
100
2014.1.25
蔡晓平
123456
学科5
350
2014.1.25
不知道可否在函数中实现。
上面的文字显示的不对,请看图片。 展开
2个回答
展开全部
不用宏,公式就能解决,但是有个问题,你的学号在哪里?你给的图中没有看到有学号?
“姓名”列中的公式:
=OFFSET($A$1,INT(ROW(A5)/5),0)
“学科”列中的公式:
=OFFSET($A$1,0,MOD(ROW(A5),5)+1)
“分数”列中的公式:
=OFFSET($A$1,INT(ROW(A5)/5),MOD(ROW(A5),5)+1)
“考试时间”列中的公式:
=OFFSET($G$1,INT(ROW(A5)/5),0)
注:以上公式是根据你图中表格形式所写,如果你实际表格与图中表格格式不一致,公式需做相应修改。
附件中文件是写好公式的,供你参考。如果你非要用宏实现的话请再追问下,我再去帮你写个宏。
追问
是的,学号在原先的表格里面没有,需要自己添加,所以要空出一行来
展开全部
你的源数据,没有学号吧???
这样,我写IKLM这几列的公式给你
I2公式
=index(A:A,roundup(row(A6)/5,0))
K2公式
=indirect(Address(1,mod(row(A5),5)+1))
L2公式
=offset($A$1,match(I2,A:A,0)-1,match(K2,$1:$1,0)-1)
M2公式
=index(G:G,match(I2,A:A,0))
这样,我写IKLM这几列的公式给你
I2公式
=index(A:A,roundup(row(A6)/5,0))
K2公式
=indirect(Address(1,mod(row(A5),5)+1))
L2公式
=offset($A$1,match(I2,A:A,0)-1,match(K2,$1:$1,0)-1)
M2公式
=index(G:G,match(I2,A:A,0))
追问
是的,学号在原先的表格里面没有,需要自己添加,所以要空出一行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询