我正在尝试根据两列匹配对行进行排序。
例如,在下表中,两个用户对同一本书进行评分。在对下面的示例表进行排序时,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
评级按升序排列(虽然这不是重要的一点)。
我可以使用基本的排序 - 排序Book
和USER A
按USER A
升序,然后排序USER B
分别升序,并且所有人都会再次匹配正确的评分正确的书籍,我想要的。但我需要一种更实用的方法来做到这一点。
主要是因为我可以将已排序的数据复制到新工作表中。
答案 0 :(得分:2)
我不确定这是否是“更有效的方式”,但假设如下:
| 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)
基本上它会检查列B
和C
之间的差异。如果它们是等于的,它将根据与最大值的差异返回负值。如果不是,我们使用用户A的评级。
然后,您可以根据列D
对整个范围(升序)进行排序。你应该得到你想要的结果。