按派生列对 Excel 进行排序,然后按其他列对 Excel 进行排序

按派生列对 Excel 进行排序,然后按其他列对 Excel 进行排序

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)

相关内容