【问题标题】:LibreOffice Calc sort rows by column comparisonLibreOffice Calc 按列比较对行进行排序
【发布时间】:2014-11-16 23:20:40
【问题描述】:

我正在尝试根据两列匹配对行进行排序。

例如,在下表中,两个用户对同一本书进行评分。在对下面的示例表进行排序时,Book 2 应该排在第一位,Book 4 排在第二位,因为用户的评分都匹配。

  BOOK     USER A     USER B  
 Book 1      4.5        3.5
 Book 2      2.0        2.0
 Book 3      5.0        3.5
 Book 4      3.0        3.0

其余不匹配的将根据USER A 评级按升序排列(尽管这并不是真正重要的部分)。

我可以使用基本排序 - 将BookUSER AUSER A 升序排序,然后分别对USER B 升序排序,所有这些都将再次与正确书籍的正确评级匹配,正如我想要它。但我需要一种更实用的方式来做到这一点。

主要是这样我可以将排序后的数据复制到新工作表中。

【问题讨论】:

    标签: sorting libreoffice-calc


    【解决方案1】:

    我不确定这是否是“一种更实用的方法”,但假设如下:

      |   A    |   B    |    C         
    ------------------------------
    1 | BOOK     USER A   USER B    
    2 | Book 1      4.5      3.5    
    3 | Book 2      2.0      2.0    
    4 | Book 3      5.0      3.5    
    5 | Book 4      3.0      3.0    
    

    如果最高评分为 5,则可以通过 D 列中的一个非常简单的公式轻松解决:

    =IF(B2-C2=0;-5+B2;B2)  
    

    基本上它检查列BC 之间的差异。如果它们相等,它将根据与最大值的差返回负值。如果不是,我们使用用户 A 的评分。

    然后,您可以根据列 D 对整个范围(升序)进行排序。你应该得到你想要的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-03
      • 2013-02-13
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 2013-05-09
      • 1970-01-01
      • 2018-09-10
      相关资源
      最近更新 更多