数学运算顺序问题?还是别的什么



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

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

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

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

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

用您得到的值替换范围:

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

第二个公式:

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

使用您获得的值:

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

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

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

具有值:

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

最新更新