无需VBA,使用Excel原生函数计算指定迭代运算的求和值S
实现方案
方案1:全版本兼容的闭式公式(推荐)
我们可以直接对求和公式做数学化简,完全不需要迭代类函数,所有Excel版本都可直接使用,化简后的最终公式如下:
S = A*(B+8)*(n*C + D*n²/2)
推导逻辑(可跳过)
单次运算的公因子A*(B+8)和迭代变量j无关,可以直接提取到求和符号外,对剩余部分求和后再相乘即可:
- 单次项:
K * (C + D*(j-0.5)),其中K = A*(B+8)为常数 - 对j从1到n求和后,剩余部分化简结果为
n*C + D*n²/2 - 最终结果为K乘以上述化简值
单元格引用示例
假设参数A、B、C、D、n分别存放在A1、B1、C1、D1、E1单元格,公式写为:=A1*(B1+8)*(E1*C1 + D1*POWER(E1,2)/2)
代入你给出的示例参数(A=2、B=3、C=4、D=5、n=7),计算结果正好为3311,验证正确。
方案2:动态数组公式(适用于Excel 365/2021及以上版本)
如果不想做数学推导,可以直接生成迭代序列计算求和,公式如下:=SUM(A1*(B1+8)*(C1 + D1*(SEQUENCE(E1,,1,1)-0.5)))
该公式通过SEQUENCE直接生成1到n的整数序列,批量代入计算后求和,结果和闭式公式完全一致。
内容的提问来源于stack exchange,提问作者CesarR
相关产品推荐
相关产品推荐

