You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Excel每3行遵循指定公式算法?

解决方案

要实现每3行对应同一引用行、每过3行引用行递增1的效果,核心是通过行号计算动态生成目标引用行,替换原公式中的固定行号即可。

动态行号计算逻辑

使用公式INT((ROW()-11)/3)+11生成目标引用行号:

  • ROW():获取当前单元格的行号
  • ROW()-11:计算当前行与起始行(第11行)的差值
  • INT((ROW()-11)/3):将差值除以3后取整,每3行该值自动加1
  • 加11:得到最终的目标引用行号

修改后的公式(两种可选方案)

方案1:使用INDIRECT(写法简洁)

将原公式中的固定行号替换为上述计算式,完整公式如下:

=IF(B11="RTR", INDIRECT("RTR!G"&(INT((ROW()-11)/3)+11)&":Z"&(INT((ROW()-11)/3)+11)), IF(B11="DHG2", INDIRECT("'DHG2'!G"&(INT((ROW()-11)/3)+11)&":Z"&(INT((ROW()-11)/3)+11)), IF(B11="JQV", INDIRECT("JQV!G"&(INT((ROW()-11)/3)+11)&":Z"&(INT((ROW()-11)/3)+11)), "")))

方案2:使用INDEX(非易失函数,更稳定)

若避免使用易失函数INDIRECT,可改用INDEX(20对应G到Z的列数,G是第7列、Z是第26列,26-7+1=20):

=IF(B11="RTR", INDEX(RTR!G:Z, INT((ROW()-11)/3)+11, 1):INDEX(RTR!G:Z, INT((ROW()-11)/3)+11, 20), IF(B11="DHG2", INDEX('DHG2'!G:Z, INT((ROW()-11)/3)+11, 1):INDEX('DHG2'!G:Z, INT((ROW()-11)/3)+11, 20), IF(B11="JQV", INDEX(JQV!G:Z, INT((ROW()-11)/3)+11, 1):INDEX(JQV!G:Z, INT((ROW()-11)/3)+11, 20), "")))

效果验证

  • 第11、12、13行:引用行号为11,与原公式一致
  • 第14、15、16行:引用行号为12,符合预期
  • 第17、18、19行:引用行号自动变为13,和你期望的公式完全匹配
  • 拖动公式时,后续所有行都会自动遵循每3行引用行递增1的规则

内容的提问来源于stack exchange,提问作者moe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:51:17