【问题标题】:In Google Sheets, why does rank() treat two identical values differently?在 Google 表格中,为什么 rank() 会以不同的方式处理两个相同的值?
【发布时间】:2023-03-23 12:46:01
【问题描述】:

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

我只使用rank(A1,A1:B1)arrayformula(rank(A1:B1,A1:B1)。这两个公式甚至返回不同的结果。

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

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

【问题讨论】:

    标签: google-sheets google-sheets-formula ranking-functions


    【解决方案1】:

    它与Floating Point Error 相关,而不是RANK

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

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


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

    【讨论】:

    • 谢谢。将round() 添加到我的数据中清除了我原来的排名问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 2015-10-27
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    相关资源
    最近更新 更多