`
阅: 2013 | 回: 0
发表于2015/10/24 14:43:34 楼主 
头像 等级:初学者
积分:0
财富值:0.0
身份:普通用户

Excel中多次重复一列数据的几个公式

问题:Excel工作表的A列中包含一些数据,现在要在另一列中将A列的每个数据重复N次,如图是在B列中重复2次的情况,在不使用VBA代码的情况下,如何快速操作?

答:用下面的几个公式都可以快速完成上述任务。假如A列中包含数据的区域为A4:A11,现在要从B3单元格开始对A列中的每个数据重复5次。在B3单元格中输入下列公式,然后向下填充:

    =OFFSET(A$4,ROUNDUP(ROW(A1)/5,0)-1,0)

    公式先用ROW函数取得一个数值,然后用该数值除以5后用ROUNDUP函数向上舍入,再减去“1”后用OFFSET函数返回结果。例如对于B14单元格,填充后的公式为:

    =OFFSET(A$4,ROUNDUP(ROW(A12)/5,0)-1,0)

    ROW(12)返回“12”,ROUNDUP(ROW(A12)/5,0)-1返回“2”,于是上述公式变为:

    =OFFSET(A$4,2,0)

    返回从A4单元格向下偏移2个行后的引用,即A6单元格中的内容“PowerPoint”。公式中的OFFSET函数也可以改为INDEX函数,同时第一个参数也要做相应的更改。在B3单元格中输入下面的公式:

    =INDEX($A$4:$A$11,ROUNDUP(ROW(A1)/5,0))

    道理同上。

    还可以使用下面的两个公式:

    =INDEX($A$4:$A$11,INT(1+ROW(A1)/(5+1/COUNTA($A$4:$A$11))))

    或:

    =INDIRECT("R"&ROW($A$4)+INT((ROWS($B$1:$B1)-1)/5)&"C"&COLUMN($A$1),0)

    如果不是重复5次,可以将上述公式中用红色标识的“5”改为相应的数值即可。

我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。