Excel问题

例如A列中有数字1,2,3,4.....100个数据,我想把A列中每5个数字复制到B列,再5个数字复制到C列,以此类推。也就是B列中是1,2,3,4,5;C列中6,7,8,9,10;D列:11,12,13,14,15。。。。。。请问有什么快捷的做法吗?别说一些难用的办法哦,我的数据可不只100个。

B1输入:
=OFFSET($A$1,(COLUMN()-2)*5+ROW()-1,0,1,1)
鼠标移到B1右下角变实心十字 下拉到B5, 然后右拉
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-30
我的公式和楼上不同,是这样的:
设你的数字在A列,从A1往下排,则你在B1单元格输入公式:

=IF(INT((ROW($A1)-1)/5)=COLUMN(A1)-1,$A1,"")

然后把这个公式往右下拉就可以了,如果你不会拉,可以复制B1,再选定B列到n列粘贴就行了!
第2个回答  2009-08-30
在B1输入:
=INDIRECT("A"&COLUMN()*5+ROW()-10)
下拉至第5行,再向右拉到所需位置。
第3个回答  2009-08-30
你的问题有问题吧:只有256,如你所说则列中最多不能超过255*5=1275个数的哟。
如果是如此,假设你A1~A1275单元格中是你要分解的数。

运行下面的宏就可以
Sub kk()
For i = 2 To 256
Cells(1, i).Value = Cells(5 * i - 9, 1).Value
Cells(2, i).Value = Cells(5 * i - 8, 1).Value
Cells(3, i).Value = Cells(5 * i - 7, 1).Value
Cells(4, i).Value = Cells(5 * i - 6, 1).Value
Cells(5, i).Value = Cells(5 * i - 5, 1).Value
Next
End Sub
第4个回答  2009-08-30
想了一个方法,按你的假设在B1之中输入下列公式:

=IF(INT((ROW($A1)-1)/5)=COLUMN()-2,$A1,"")

然后向右拖拉单元格,使B1、C1……等等都变成上面的公式,然后再选中所有第一行的公式,向下拖拉单元格填充下面的单元格。

结果是在单元格B1到B5中显示的数字是A1到A5中的各个数,C6到C10中显示的是A6到A10的数,以此类推

如果数据是从A列第二行开始,那么ROW(A1)-1,就应该把-1却掉。

不知道是否符合你的要求,如果哪里不对,告诉我给你调试。
相似回答