Classifique o Excel por coluna derivada e depois por outra coluna

1

Excel para Mac v15.37 no OSX 10.11.6.

Aqui está um exemplo minimamente reproduzível:

  |   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 |

Classifique por C e depois por A .

Asaídaé:

|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|

Asaídaesperadaé:

|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|

SeeucopiaracolunaC,colá-lanovamentecomo"valores", para que a célula contenha o literal -0.6 em vez da fórmula, então ela será bem ordenada. Mas eu não quero ter que fazer isso.

Como posso fazer isso classificar corretamente?

    
por Joe Frambach 19.09.2017 / 07:06

1 resposta

2

É um problema de precisão de ponto flutuante.

3.4 - 4.0 é realmente algo como -0.6000000000001

e

3.5 - 4.1 é na verdade algo como -0.5999999999999

Material básico. link

A solução foi arredondar a coluna de saída.

C3 = ROUND(A3 - B3, 2)

    
por 19.09.2017 / 07:30