在 Google 表格中,为什么 rank() 会以不同方式处理两个相同的值?

In Google Sheets, why does rank() treat two identical values differently?

我有一个 sheet 有四个值,我认为它们都是相等的(即每对 =A1=B1 returns TRUE)。但是,当我在具有这些值的列表上使用 rank() 时,它们会获得不同的排名。 据我所知,我没有做任何奇怪的事情,例如避免重复的解决方法。 (在这种情况下,我想要重复的排名。)我尝试 rank() 的值是 trunc(sum(...),1) 的结果,因此没有任何我没有注意到的隐藏小数位。

我正在使用 rank(A1,A1:B1)arrayformula(rank(A1:B1,A1:B1)。这两个公式return不同的结果,偶。

为什么 rank() 将这些数字视为不同的?在通常不可见的单元格上是否有某种标志或额外的 属性 使它们不同?

这种情况在没有看到数据的情况下有点难以解释,所以我在这个sheet中重现了这种情况: https://docs.google.com/spreadsheets/d/1cL_15WnKgrxhJfT5lYYIg4sRAzaAzbpP7nH9hju1Rv4/edit?usp=sharing

它与 Floating Point Error 的关系比与 RANK 的关系更大。

在任何情况下,由于您正在尝试查看 " ...没有任何我没有注意到的隐藏小数位",您可以采用不同的方法方法。

  • 使用 ROUND 函数,将 trunc(sum(...),1) 结果的值四舍五入到您可能需要的小数位数。
  • 从顶部菜单中选择 Format> Number> More formats> Custom number formats 并创建您自己的


之后,您将能够直观地发现差异。
此外,您可以使用 RANK 函数