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

Excel动态级数求和公式需求:基于可变计数n自动计算B1+B1/2+…+B1/n的和

解决方案:自动适配计数的级数求和

嗨,你的需求其实很好实现,核心是计算B1乘以前n项调和数的和(这里n就是B3里的计数值),下面给你两种可行的方案,分别适配不同版本的Excel:

方案1:兼容绝大多数Excel版本(包括旧版)

直接用SUMPRODUCT结合INDIRECT和ROW函数,公式如下:

=B1 * SUMPRODUCT(1/ROW(INDIRECT("1:"&B3)))

公式拆解:

  • INDIRECT("1:"&B3):根据B3的数值动态生成一个从1到n的行号范围(比如B3=4时,就是1:4)
  • ROW(...):提取这个范围的行号,得到数组{1,2,3,4}
  • 1/ROW(...):生成调和级数的每一项,即{1, 1/2, 1/3, 1/4}
  • SUMPRODUCT(...):对这个数组求和,得到前n项调和数的总和
  • 最后乘以B1,就得到你需要的B1 + B1/2 + ... + B1/n的结果

验证示例:

当B1=5,B3=4时,计算结果为5*(1+0.5+0.3333333+0.25)=10.41666665,和你给出的示例结果几乎一致(微小误差是浮点运算的正常现象)。

可选优化(错误处理):

如果担心B3输入非正整数导致报错,可以添加判断逻辑:

=IF(AND(ISNUMBER(B3), B3>0, INT(B3)=B3), B1 * SUMPRODUCT(1/ROW(INDIRECT("1:"&B3))), "请输入正整数计数")

方案2:Excel 365/2021+ 简洁版

如果你用的是支持动态数组的Excel版本,直接用SEQUENCE函数生成序列,公式更简洁:

=B1 * SUM(1/SEQUENCE(B3))

公式拆解:

  • SEQUENCE(B3):直接生成从1到n的整数序列(比如B3=4时,就是{1,2,3,4})
  • 1/SEQUENCE(B3):生成调和级数项,再用SUM求和,最后乘以B1得到结果

这个方案更直观,而且运算效率也不错,n=1000时完全能快速计算。


两种方案都能满足你“修改计数n时自动调整求和项”的需求,且都支持n取值到1000的场景,你可以根据自己的Excel版本选择合适的公式~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 14:37:32