Сортировка в LibreOffice Calc

Это очень простая тема, которую большинство знает. И наверное, из-за того, что приходится часто говорить о простых вещах, большая часть статьи может показаться скучной. Но так как я не уверен в уровне читающего, а по практике знаю, что иногда спрашивают даже элементарные вещи (типа, где кнопка), я буду вести рассказ с самого начала. Я постарался изложить максимум известного мне материала по теме сортировки в LibreOffice Calc, и надеюсь что эта статья будет полезна не только начинающим.

Простая сортировка

Однажды в одной из групп поддержки был задан вопрос про удобную сортировку. Если честно, я немного не ожидал такого простого вопроса, но наверное, действительно, стоит начать как всегда с самого элементарного и двигаться по направлению к сложному. Так где же находится сортировка? Подробнее о том что такое нумерация строк в таблице libreoffice читайте на страницах специализированного сайта.

Кнопки и меню сортировки в LibreOffice Calc

По умолчанию, существуют кнопки для быстрой сортировки на панели, а также пункт меню в «Данные» → «Сортировка…» для более «изощрённой». В зависимости от темы значков, которую вы используете, кнопки могут отличаться по виду. Если вам не удаётся найти их, щёлкните по панели правой клавишей мыши и поищите их в контекстном меню в разделе «Показать кнопки». Для пункта меню «Сортировка…» можно назначить горячие клавиши, по аналогии того, как я описывал это в прошлой статье.

Принципы сортировки

Чтобы понимать, когда нам действительно нужно залезать в меню, а когда мы можем обойтись только кнопками на панели, давайте обсудим поведение сортировки по умолчанию. Хочу в самом начале заметить, что поведение может немного меняться от версии к версии. Связано это с тем что сообщество, в том числе и разработчики, имеет свои идеи по поводу этого вопроса. Я буду основывать своё описание на версии 4.3.6, хотя по сравнению 4.3.5 я особых изменений не заметил. Итак, приступим.
Первое, что нужно отметить. Быстрая сортировка происходит в столбцах. То есть информация сортируется по вертикали. Для того чтобы отсортировать диапазон в строках нужно использовать меню.

Второе, как бы это не было удивительно, первая строка считается заголовком таблицы. Да, для некоторых людей это непривычно. Но хорошим тоном является указание заголовков для данных. Исключением из этого правила будет, если в нашем диапазоне присутствуют только числа. При сортировке чисел первая строка (с числами) не будет считаться заголовком. Тоже самое будет, если у значения в заголовке присутствует только число. Давайте с примером:

Примеры диапазонов для сортировки

Как видите, хотя было сказано много слов, всё достаточно просто. Одно примечание к этому: римские цифры это буквы, не забывайте про это. 🙂
Третье, сортируемый диапазон окружен пустыми строками и столбцами. В примере выше, у меня в документе 6 отдельно сортируемых диапазонов. Как вы понимаете, это очень удобно, когда нам нужно иметь несколько небольших диапазонов рядом.
Ещё одна вещь, которую стоит отметить сразу, мы не можем сортировать диапазон, в котором есть объединённые ячейки. В примере выше, я отделил объединённые ячейки пустой строкой. Если этого не сделать, то мы будем получать предупреждение:

Сообщение при сортировки с объединёнными ячейками

Тот же эффект получится, если объединённые ячейки будут в столбцах.

Последнее, что стоит помнить, при быстрой сортировке используется алфавитно-цифровое соотношение. То есть дни недели, месяцы и другие списки сортировки будут отсортированы по алфавиту, а не по порядку.

Теперь когда нам известны правила для диапазона, можно приступить к самой сортировке. Начинать сортировку можно по-разному, самый простой способ — это поставить курсор в ячейку столбца, по которому мы будем сортировать. Не важно в какую ячейку ставить, в первую, в последнюю или где-то посередине. Тот столбец, в который вы поставили курсор, будет считаться ключевым. При быстрой сортировке диапазон сортируемых данных автоматически будет расширен до полного диапазона. Но сортировка будет происходить только в ключевом столбце. В столбцах, примыкающих к ключевому диапазону, сортировка происходить не будет. Согласен что это не очень удобно, но вот так пока. Главное, что при этой сортировке соотношение данных по строкам сохраняется. То есть из примера выше, если «Апрелю» соответствует «четверг», а «Марту» — «среда», то после сортировки это соответствие сохранится.

Другой способ — это выделить диапазон, который мы хотим отсортировать. И после нажатия кнопки сортировки на панели, если наш выделенный диапазон имеет смежные непустые ячейки, мы получим следующее предложение:

Сообщение с предложением расширить диапазон в LibreOffice Calc

На скриншоте видно, что я выделил диапазон С4:С9 («День недели»). LibreOffice Calc автоматически определил, что рядом с выделенным диапазоном присутствуют непустые ячейки и обвёл предполагаемую область синей рамкой. В диалоговом окне же я могу согласится с предлагаемым диапазоном, нажав кнопку «Расширить выделение»; отказаться от предлагаемого расширения, нажав «Текущее выделение», если я уверен, что хочу отсортировать только один столбец; и отметить вообще сортировку, если я потерял к ней интерес на данном шаге. Предупредительность Calc вызвана тем, что мы можем выделить только часть диапазона по разным причинам (например, заполняли его только что) и, например, из-за усталости или спешки забыли об этом.

Окно Сортировки

Чаще всего в LibreOffice Calc нам достаточно быстрой сортировки. Но людей, которые привыкли работать со сложными таблицами, могут не удовлетворить её возможности. Поэтому давайте рассмотрим «медленную», но более настраиваемую сортировку. Как вы, наверное, уже поняли, мы должны будем воспользоваться меню «Данные» → «Сортировка…».

Окно «Сортировка» имеет две вкладки: первая из них называется «Условия сортировки» и служит для указания порядка сортировки, второе называется «Параметры» и предназначено для указания параметров отличных от тех, что установлены по умолчанию. Обе вкладки интуитивно понятны, поэтому я не буду слишком подробно комментировать всё, остановлюсь лишь на моментах, которые могут ускользать.