LibreOffice Calc中含可变参数的求和函数问题
解决Excel中逐元素运算求和的问题
你的公式逻辑完全没问题,之所以没法正常运行,是因为Excel默认不会自动处理这种逐元素数组运算后的求和,这里给你两种简单的解决办法:
方法一:使用数组公式输入
你写的公式本身是对的,只需要调整输入方式:
输入完公式 =SUM(A2:A3*EXP(-($D3-B2:B3)^2/C2:C3)) 之后,不要直接按回车,而是按下 Ctrl+Shift+Enter(Windows系统)或者 Cmd+Shift+Enter(Mac系统)。Excel会自动给公式加上一对大括号(注意别手动输入大括号),这样就能正确计算每行的a_n*exp(-(x-b_n)^2/c_n)值,再把它们求和。
方法二:用SUMPRODUCT函数(更推荐)
SUMPRODUCT函数天生支持逐元素运算并求和,不需要额外的组合键,兼容性也更好(适配所有Excel版本)。把公式改成:=SUMPRODUCT(A2:A3*EXP(-($D3-B2:B3)^2/C2:C3))
直接按回车就能得到正确结果,比数组公式更省心。
举个实际计算例子
假设D3单元格的x值是3:
- 第一行计算:
1*EXP(-(3-3)^2/5) = 1*EXP(0) = 1 - 第二行计算:
2*EXP(-(3-4)^2/6) ≈ 2*0.84648 ≈ 1.69296 - 最终求和结果≈2.69296
如果你的Excel是365/2021及以后的版本,动态数组功能已经支持普通SUM自动处理数组运算,直接回车也能生效,但SUMPRODUCT在旧版本里依然能用,所以更推荐用它。
内容的提问来源于stack exchange,提问作者Thorbjørn E. K. Christensen
相关产品推荐
相关产品推荐

