我有一个MWE的电子表格:
| a | b | c |
| --- | --- | --- |
| 1 | 3 | 5 |
| 2 | 4 | 6 |
我想要一个新列,我计算所有a_n*exp(-(x-b_n)^2/c_n)
的总和,其中x
将是另一列中给出的参数,n是行。
我认为这会像=SUM(A2:A3*EXP(-($D3-B2:B3)^2/C2:C3))
那样,但这不起作用(此处D
列包含x值)
答案 0 :(得分:1)
它被称为电子表格计算。所以我们应该使用具有多个单元格的工作表。如果我们需要所有值的总和,我们首先计算单个值,然后使用SUM
函数对它们求和。
示例:
公式:
D5
= =$A5*EXP(-(D$3-$B5)^2/$C5)
向下复制到F12
。
由于$A5
,$B5
和$C5
中的行引用是相对的(不使用$
注释),因此这些行引用将在向下复制时更新。并且因为D$3
中的列引用也是相对的,所以在向侧面复制时将更新此列引用。
D13
= =SUM(D5:D12)
已复制到F13
的右侧。
只有在数组上下文中使用公式才能实现一体化。函数SUMPRODUCT
在数组上下文中获取其所有参数。
D15
= =SUMPRODUCT($A$5:$A$12*EXP(-(D$3-$B$5:$B$12)^2/$C$5:$C$12))
另一种可能性是在SUM
函数中使用数组上下文:
公式=SUM($A$5:$A$12*EXP(-(D$3-$B$5:$B$12)^2/$C$5:$C$12))
- 结果为#VALUE!
。然后点击fx
并勾选复选框[x] Array
: