Excel--将每行数据复制多次

 如果你想实现将某一列或者某一行的数据重复复制多次

(如下图所示,将第一列的数据每行都复制三次)

 如需完成上述操作,我们可以通过EXCEL自带的函数公式来实现

1.从第一行开始复制n次

=INDEX($A$1:$A$5,ROUNDUP(ROW()/3,0))

假设要复制的数据是A1:A5

  •  INDEX($A$1:$A$5, ...):从原始数据区域中提取对应行的数据。
  • ROW() :获取当前行号。       如果要对行进行操作,则将ROW()   换成  COLUMN()
  • ROUNDUP(ROW()/3,0):将行号除以 3 并向上取整,用来重复获取相同的数据。如果你要复制n次,就将3替换为n。

然后我们需要拖动复制公式:选中 B1 处的公式并向下拖动,直到你覆盖所需的行数(每行要复制三次,因此行数应为原始数据的三倍)。

2.从任意位置开始复制

上述公式只能从第一行开始拖动,如果从其他行开始拖动,就会漏掉一些数据;                         

因此,我们可以通过 ROW() / COLUMN()  函数中减去偏移量的操作来实现:

=INDEX($A$1:$A$5,ROUNDUP((ROW()-3)/3,0))

假设从第4行开始(想从第n行开始,就减去 n-1 个偏移量 )

3.控制小数点的位数

当要复制的数据带有小数点时,我们可以在 INDEX 函数的外层使用 ROUND 函数来将公式中的结果四舍五入到指定的小数位数

假设精确到两位小数

=ROUND(INDEX($A$1:$A$5,ROUNDUP((ROW()-3)/3,0)), 2)

如果你不想四舍五入,而是希望直接截取小数点后 2 位(不进行四舍五入),可以使用 TRUNC 函数。公式如下:

=TRUNC(INDEX($A$1:$A$5,ROUNDUP((ROW()-3)/3,0)), 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值