数学运算顺序问题?或者是其他东西?

Mathematical order of operations problem? or something else?

示例 gsheet
https://docs.google.com/spreadsheets/d/1lRs27-1vcF-8SV8l2lwOHYtEVJewn7iurqm93C-KtcI/edit?usp=sharing

我认为下面这两个公式应该给出相同的结果,并且在单独计算时也是如此。但是当我将公式与其他单元格一起组合时,它给出了 2 个不同的结果。有人可以解释一下背后的逻辑吗?谢谢你!

=SUM(ARRAYFORMULA($C:$C10*$D:$D10*$E:$E10))-SUM($F:$F10) =SUM(ARRAYFORMULA($C:$C10*$D:$D10*$E:$E10-$F:$F10))

逻辑很简单 - 对于第一个公式:

=H2+I2+J2-SUM(ARRAYFORMULA($C:$C10*$D:$D10*$E:$E10))-SUM($F:$F10)

用您得到的值替换范围:

=79,478.14 - 41,000.00 - 64.16 => 38,413.98

第二个公式:

=H2+I2+J2-SUM(ARRAYFORMULA($C:$C10*$D:$D10*$E:$E10-$F:$F10))

你得到的值:

=79,478.14 - 40,935.84 => 38,542.30

您应该使用括号来获得相同的结果:

=H2+I2+J2-(SUM(ARRAYFORMULA($C:$C10*$D:$D10*$E:$E10))-SUM($F:$F10))

值:

=79,478.14 - (41,000.00 - 64.16) => 38,542.30