Excel新手求助:基于特定序列求和实现辛普森法则的函数方法
辛普森法则Excel求和公式(针对1、4、1和1、3、3、1乘数序列)
假设你的数据值在连续列中(比如$A$1:$A$n,n为数据点总数),以下是两种序列对应的求和方案:
一、1、4、1序列求和(辛普森1/3法则)
适用于数据点数量为奇数(即区间数为偶数),乘数序列核心重复单元为1、4、1,完整序列为 1,4,2,4,2,...,4,1。
整体法则加权求和公式
=SUM($A$1:$A$n * IF(OR(ROW($A$1:$A$n)=ROW($A$1),ROW($A$1:$A$n)=ROW($A$n)),1,IF(MOD(ROW($A$1:$A$n)-ROW($A$1),2)=1,4,2)))
- 使用说明:
- 替换
$A$1:$A$n为你的实际数据区域(比如$B$2:$B$10) - 旧版Excel需按
Ctrl+Shift+Enter触发数组计算,新版Excel直接回车即可 - 逻辑:通过
ROW()获取数据点相对位置,用MOD()判断奇偶位置,分别赋予1、4、2的乘数,最终加权求和
- 替换
所有连续3点组的1、4、1求和(遍历任意位置的连续3点)
=SUMPRODUCT(OFFSET($A$1,ROW(INDIRECT("1:"&ROWS($A$1:$A$n)-2)),0,1,1)*1 + OFFSET($A$1,ROW(INDIRECT("1:"&ROWS($A$1:$A$n)-2))+1,0,1,1)*4 + OFFSET($A$1,ROW(INDIRECT("1:"&ROWS($A$1:$A$n)-2))+2,0,1,1)*1)
- 该公式会遍历所有连续3个数据点的组合,每个组合按1、4、1加权后求和
二、1、3、3、1序列求和(辛普森3/8法则)
适用于数据点数量为 3k+1(即区间数为3的倍数,比如4、7、10...),乘数序列核心重复单元为1、3、3、1,完整序列为 1,3,3,1,3,3,...,3,1。
整体法则加权求和公式
=SUM($A$1:$A$n * IF(OR(ROW($A$1:$A$n)=ROW($A$1),ROW($A$1:$A$n)=ROW($A$n)),1,IF(MOD(ROW($A$1:$A$n)-ROW($A$1),3)=0,1,3)))
- 使用说明:
- 替换
$A$1:$A$n为你的实际数据区域 - 旧版Excel按
Ctrl+Shift+Enter,新版直接回车 - 逻辑:通过
MOD(位置差,3)判断每个点在序列中的位置,赋予1或3的乘数,首尾固定为1
- 替换
所有连续4点组的1、3、3、1求和(遍历任意位置的连续4点)
=SUMPRODUCT(OFFSET($A$1,ROW(INDIRECT("1:"&ROWS($A$1:$A$n)-3)),0,1,1)*1 + OFFSET($A$1,ROW(INDIRECT("1:"&ROWS($A$1:$A$n)-3))+1,0,1,1)*3 + OFFSET($A$1,ROW(INDIRECT("1:"&ROWS($A$1:$A$n)-3))+2,0,1,1)*3 + OFFSET($A$1,ROW(INDIRECT("1:"&ROWS($A$1:$A$n)-3))+3,0,1,1)*1)
注意事项
- 确保数据点数量符合对应法则要求:
- 辛普森1/3法则:数据点为奇数(区间数为偶数)
- 辛普森3/8法则:数据点数量为
3k+1
- 若数据区域不是从第1行开始,公式中的
ROW($A$1)会自动适配相对位置,无需手动调整
内容的提问来源于stack exchange,提问作者BostonB
相关产品推荐
相关产品推荐

