LibreOffice Calc 按列比较排序行

3
我正在尝试根据两列匹配来排序行。
例如,在下面的表格中,两个用户对同一本书进行评分。在对下面的示例表格进行排序时,应该首先显示“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的评分按升序排列(虽然这并不是真正重要的部分)。
我可以使用基本排序-通过以USER A升序排序BookUSER A,然后分别升序排序USER B,并且所有内容将再次匹配正确的书籍评分,并按照我的要求进行排序。但我需要一种更加实用的方法来完成此操作。
主要是为了能够将排序后的数据复制到新表中。
1个回答

3
我不确定这是否是“更加实用的做法”,但假设像下面这样:
  |   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对整个范围进行排序(升序)。您应该能够得到您想要的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接