求助:如何在Excel公式中实现单元格行号按固定间隔递增
Excel K列动态递增乘积公式解决方案
以下两种方法可以实现你要的效果,直接复制公式到K1后下拉填充即可:
方法一:使用INDEX函数(推荐,性能更稳定)
在K1单元格输入公式:=INDEX(C:C, (ROW()-1)*1000 + 1) * INDEX(C:C, ROW()*1000 + 1)
原理:ROW()返回当前单元格的行号,通过计算得到对应C列的目标行号:
- K1行号为1:
(1-1)*1000+1=1(对应C1),1*1000+1=1001(对应C1001) - K2行号为2:
(2-1)*1000+1=1001(对应C1001),2*1000+1=2001(对应C2001) - 以此类推,自动匹配每一行需要相乘的两个单元格
方法二:使用OFFSET函数(直观易理解)
在K1单元格输入公式:=OFFSET(C$1, (ROW()-1)*1000, 0) * OFFSET(C$1, ROW()*1000, 0)
原理:OFFSET(C$1, 偏移行数, 0)表示从C1单元格向下偏移指定行数的单元格:
- K1时,第一个OFFSET偏移0行(得到C1),第二个偏移1000行(得到C1001)
- K2时,第一个OFFSET偏移1000行(得到C1001),第二个偏移2000行(得到C2001)
补充:INDIRECT函数(不推荐,易失性)
如果需要也可以用INDIRECT,但它是易失性函数,大数据量下可能影响Excel性能:=INDIRECT("C"&(ROW()-1)*1000+1) * INDIRECT("C"&ROW()*1000+1)
内容的提问来源于stack exchange,提问作者Mnnn M
相关产品推荐
相关产品推荐

