2014-10-10 2 views
2

Я пытаюсь сортировать строки на основе двух столбцов.LibreOffice Calc сортировать строки по столбцам

Например, в следующей таблице два пользователя оценивают одни и те же книги. При сортировке приведенной ниже таблицы ниже следует указать 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 по возрастанию по отдельности, и все будет соответствовать снова с правильными оценками для правильных книг, и, как я хочу. Но мне нужен более функциональный способ сделать это.

Прежде всего, я могу скопировать отсортированные данные на новый лист.

ответ

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. Вы должны получить нужный результат.

Смежные вопросы