OSX 10.11.6 上的 Excel for Mac v15.37。
这是一个最低限度可重复的例子:
| A | B | C |
|=|=======|========|========|
|1| First | Second | F-S |
|2| 3.4 | 4.0 | =A2-B2 |
|3| 3.6 | 4.2 | =A3-B3 |
|4| 3.5 | 4.1 | =A4-B4 |
C
按 然后按排序A
。
输出为:
| A | B | C |
|=|=======|========|========|
|1| First | Second | F-S |
|2| 3.4 | 4.0 | -0.6 |
|3| 3.6 | 4.2 | -0.6 |
|4| 3.5 | 4.1 | -0.6 |
预期输出为:
| A | B | C |
|=|=======|========|========|
|1| First | Second | F-S |
|2| 3.4 | 4.0 | -0.6 |
|4| 3.5 | 4.1 | -0.6 |
|3| 3.6 | 4.2 | -0.6 |
如果我复制 C 列,然后将其粘贴回“值”,这样单元格包含文字-0.6
而不是公式,排序就没问题了。但我不想这样做。
我怎样才能正确排序?
答案1
这是一个浮点精度问题。
3.4 - 4.0 实际上是 -0.6000000000001
和
3.5 - 4.1 实际上是 -0.5999999999999
基本的东西。http://floating-point-gui.de/
解决方案是对输出列进行四舍五入。
C3 = ROUND(A3 - B3, 2)