вторник, 17 февраля 2015 г.

Удобная навигация в LibreOffice Calc

Чем удобнее нам перемещаться по листу в электронной таблице, тем меньше мы тратим время на её редактирование, а значит у нас остаётся больше времени на анализ её содержимого. Конечно, удобство это очень относительная вещь. И каждый человек создаёт своё рабочее пространство исходя из своих привычек и идей. Я буду рассказывать об основных принципах как можно быстрее перемещаться по листу, а вы уже сами решайте, что вам принимать на вооружение, а что нет.

Перед началом, рекомендую ознакомиться со статьёй о том как скрывать диапазоны. Ограничение области тоже помогает быстрее перемещаться.

Как закрепить строку и столбец

Первое что приходит на ум, когда работаешь с большими таблицами в LibreOffice Calc или MS Excel, — это закрепление заголовков таблиц. Естественно, что таблица может уходить вправо и вниз, поэтому желательно уметь фиксировать и строки, и столбцы.
Выделите ячейку A2 и пройдите в главном меню «Окно» и установите флажок в пункте «Фиксировать». Результатом будет зафиксированная первая строка.

Меню с пунктом для закрепления диапазона в LibreOffice Calc

Основной принцип фиксации строк, что в LibreOffice Calc, что в MS Excel, — всегда закрепится вся область (строки и столбцы) выше и левее выделенной ячейки. То есть, если нам нужно зафиксировать только первый столбец, то мы должны поставить курсор в ячейку B1, а если нам необходимо зафиксировать первые строку и столбец, то в ячейку B2. Скажу по секрету, программе всё равно сколько строк и столбцов будет зафиксировано. Но иногда бывает ситуация, когда для заголовка таблицы отведено несколько строк (столбцов), а нам нужна для работы только одна, что делать в этом случае? Просто скройте все лишние части заголовка.
Открепить зафиксированный диапазон также просто — снимите галочку «Фиксировать» в меню «Окна». Где будет наш курсор в это время не важно, весь закреплённый диапазон и строк, и столбцов будет освобождён.
Иногда нам нужно поменять закреплённую область, это может быть связано с тем, что мы не правильно её выбрали или нам теперь нужна другая закреплённая область. Очевидно это можно сделать в два шага: первое, открепить существующий диапазон, второе, закрепить нужный диапазон. Следовательно, может возникать ещё один вопрос: как сделать это быстрее? Правильный ответ: назначить горячие клавиши. Да, по умолчанию комбинация клавиш для этого действия не назначена, но сделать это можно самостоятельно. Если вы только начали использовать LibreOffice, то наверное, вам будет тяжело интуитивно это осуществить. Так что я расскажу по шагам.
Проходим в главном меню «Сервис» → «Настройки...» и в открывшемся окне переходим на вкладку «Клавиатура».

Окно Настройки горячих клавиш в LibreOffice Calc

Выделите в списке «Комбинации клавиш» любой пункт и нажмите желаемую комбинацию на клавиатуре (например, Ctrl+Shift+X). Если комбинация свободна, то напротив неё будет пустое место. Также можно просто пролистать список и посмотреть что на что назначено, и выбрать то, что больше понравится. После того как вы определились с комбинацией клавиш (обязательно выделите её), выберите в списке «Категории» раздела «Команды» пункт «Вид», в списке «Команда» в самом низу будет «Фиксировать окно» (сам в шоке от названия), и нажмите кнопку «Назначить». В поле «Клавиша» появится выбранная комбинация. Если всё сделали правильно, жмите «Ok», если нет — «Отменить». Подробное объяснение работы этого окна потребует отдельной статьи, так как логика его работы, мягко говоря странная, поэтому пока на этом всё. На всякий случай уточняю, что данная команда «Фиксировать окно» служит как для закрепления диапазона, так и для открепления.
Теперь у нас есть горячие клавиши для закрепления и освобождения области. Если вы забыли какие горячие клавиши назначили пункту меню, то знайте, что они отображаются рядом с этим пунктом, и всегда можно себе напомнить.

Отображение горячих клавиш возле пункта меню в LibreOffice Calc

Если вы решите изменить горячие клавиши, то рядом с пунктом меню они тоже изменятся.

Разделение окна

Ситуация когда мы имеем не просто большую таблицу, но она ещё и вся связана формулами, приводит к тому, что закрепление строк или столбцов может становиться неэффективным. В этом случае нам часто хочется разделить окно на части, чтобы видеть разные фрагменты одного листа. Разделение окна тоже можно сделать несколькими способами, и тут действительно есть выбор. Какой из этих способов более простой и удобный — решать вам.

Разделённое окно в LibreOffice Calc

Первым, как вы уже догадались, будет способ при помощи меню. Выделяем ячейку в первом столбце (например A9) и, открыв в главном меню пункт «Окна», ставим галочку напротив «Разбить». Окно будет разделено на две части. В обеих будет один и тот же лист, но у каждого из них будут собственные полосы прокрутки, а значит мы добиваемся желаемого.
Принципы разбиения окна в LibreOffice Calc такие же, как и при закреплении области ячеек — разбиение на части будет проходить сверху и слева от ячейки. Как вы понимаете, мы можем разбить лист на 2 части вертикально, если поместим курсор где-либо в первой строке, или горизонтально, если поместим курсор где-либо в первом столбце, или на 4 части, если поместим курсор где-нибудь по середине листа. Последняя возможность используется очень редко, но мало ли вам понадобится...
Второй способ — это назначить комбинацию клавиш. Делается это аналогично назначению клавиш для закрепления области, только в разделе Команды нам нужно выбрать «Разбить окно». Могу вас заверить, ни одно стекло при этом не пострадает. :)
Есть третий способ. И людям, которые предпочитают использовать мышку, а не горячие клавиши, он, наверное, понравится больше остальных (кстати, MS Excel 2013 так не умеет, так что можно при случае кинуть в него камень). При условии, когда на нашем листе не используется закрепление строк и/или столбцов и разделение окна, наверху правой полосы прокрутки и справа нижней полосы прокрутки есть маленькие прямоугольники.

Расположение кнопок для разделения окна в LibreOffice Calc

Схватите за один из них и тяните, правый влево, а верхний вниз. Результат вы увидите сами. А я вам лучше расскажу об условии, которое привёл в предыдущем абзаце. Понятно, что если мы разделим лист по вертикали, то правого прямоугольника у нас не будет, и наоборот. Фокус состоит в другом, если у мы закрепили, например, первую строку, то верхнего прямоугольника не будет, а правый останется, и если мы потянем за него, то получим не разделение страницы, а закреплённую первую строку плюс вертикальный диапазон того размера, где отпустим линию. Звучит страшно, просто попробуйте и все поймете. Для столбцов будет аналогично. С одной стороны, то, что мы не можем одновременно и зафиксировать область и разделить страницу иногда печалит. С другой стороны, этот фокус может позволить не возвращаться в начало страницы лишний раз, а просто при необходимости фиксировать перпендикулярный диапазон дополнительно к уже имеющемуся. К сожалению, изменять размер закреплённой области после отпускания клавиши мыши, нам придётся либо через меню, либо горячими клавишами. Но всё же, как вариант...

Перемещение при помощи горячих клавиш

Это довольно обширная тема, я коснусь лишь самых существенных моментов, которые чаще всего необходимы при работе с электронными таблицами в LibreOffice. Кроме того, я буду указывать горячие клавиши, назначенные по умолчанию, но это не значит, что вы их не можете изменить. Но дать рекомендации по назначению и изменению горячих клавиш довольно затруднительно. Во-первых, это связано с тем, владеет ли человек слепой печатью. Обычно, если человек владеет ею, то он использует две руки для нажатия служебных клавиш и клавиш цифробуквенного ряда (например, правой рукой Shift и левой рукой А, для прописной буквы А), в этом случае, наверное, будет удобнее часто используемые клавиши назначать ближе к начальной постановке руки (ближе к центру клавиатуры). Если человек не владеет методом слепой печати, то обычно часто используемые клавиши назначают под левую руку, так, чтобы было удобно нажимать сразу несколько служебных клавиш и какой-то дополнительный знак одной рукой. Во-вторых, это зависит от привычек человека, стиля работы. Многие люди привыкли работать одновременно и мышью и клавиатурой. В этом случае, лишний раз отрывать руку от мыши не всегда удобно, и клавиши «затачиваются» под левую руку (для правшей).
Обычно для перемещения используют сочетание Ctrl+какая-то клавиша. Если добавить к этому сочетанию Shift, то комбинация клавиш будет выделять соответствующий диапазон. Эта схема на мой взгляд удобна, и, наверное, ей следует придерживаться в случае внесения изменений. Ещё, на мой взгляд, имеет смысл открыть окно «Сервис» → «Настройка...» и внимательно изучить вкладку «Клавиатура», особенно внимательно раздел «Команды». В LibreOffice можно назначить клавиши практически на всё, включая применение стилей и макросов. Вы можете найти для себя много полезного там. Хотя как я говорил, перевод не всегда интуитивно понятен и даже иногда путает, возможно, придётся экспериментировать, чтобы добраться до истинного положения вещей. Я буду указывать сочетание клавиш, название команды и её значение, для тех команд, которые буду описывать.
Ни для кого не секрет (ну, я надеюсь), что когда мы крутим колёсико мыши, то можем двигать лист вверх/вниз. Если при этом нажать Ctrl, то мы регулируем масштаб отображаемого документа. А если вместо Crtl нажать Shift, рабочий лист будет перемещаться влево/вправо. Это же правило работает и для тачпада. Об этом хорошо вспоминать, когда вы работаете без мыши. Если есть такая возможность, почему бы ей не воспользоваться?
Стрелки на клавиатуре вверх/вниз/влево/вправо будут перемещать курсор от ячейки соответственно.
End — Перейти к концу документа. — Выделяет ячейку в текущем листе на пересечении этой строки и последнего столбца, в котором есть заполненные ячейки (сам в шоке).
Home — Перейти к началу документа. — Выделяет ячейку в текущем листе на пересечении этой строки и первого столбца в листе.
Ctrl+PageUp/PageDown — Перейти к предыдущему/следующему листу. — На удивление, это сочетание клавиш делает именно то, что написано, то есть открывает предыдущий/следующий лист. Но тут тоже есть небольшой подвох. В интерфейсе LibreOffice, клавиша PageUp записана как Next, а клавиша PageDown как Prior, по крайней мере в версии 4.3. Если вы захотите менять сочетания клавиш, обратите на это внимание.
PageUp/PageDown — Перейти на страницу вверх/вниз. — Страницей в данном контексте является количество строк, которое может поместиться в окно программы, строка, следующая за последней видимой, становится первой видимой на следующей странице.
Alt+PageUp/PageDown - Перейти на страницу влево/вправо. — Работает аналогично предыдущей комбинации, но перемещает экран влево/вправо.
Ctrl+стрелка вверх/вниз/влево/вправо — Перейти к верхнему/нижнему/левому/правому краю блока. Стрелки нажимаются поочерёдно :) Блоком в данном контексте называется непрерывный диапазон заполненных ячеек. Пример: допустим у нас есть несколько таблиц на листе, выстроенных вертикально и разделённых парой пустых строк, но внутри таблиц все ячейки заполнены, и у нас выделена ячейка в начале или середине первой таблицы. Тогда при нажатии сочетания клавиш Ctrl+стрелка вниз мы сначала перейдём в последнюю строку первой таблицы, вторым нажатием в первую строку второй таблицы, следующим нажатием в конец второй таблицы, а следующее нажатие перенесёт нас в 1048576-ую (последнюю) строку нашего листа. Аналогично это будет работать во всех направлениях.
Ctrl+Home — Перейти к началу файла. — Выделяет первую ячейку A1 на активном листе и переводит на неё фокус. Обратите внимание, именно активного листа, на первый лист, т. е. собственно в начало файла, она не переводит фокус. Почему «файл», а, например, не «слесарная пила»? (пожимаю плечами). Наверное, слово «файл» нашим локализаторам показалось более знакомым.
Ctrl+End — Перейти к концу файла. — Выделяет ячейку на пересечении последних строки и столбца активного листа, имеющих заполненную ячейку,, ячейку с фоном или обрамлением, и переводит на неё фокус. Обратите внимание, именно активного листа, на последний лист она не переводит фокус. Почему файл, а не, например, «блок данных»? (см. выше).
Ctrl+BackSpace — Перейти к текущей ячейке. — Эта комбинация нужна, когда выделенная ячейка находится вне поля зрения, например, мы смотрим на таблицу где-то далеко ниже, правее, и нам нужно вернуться быстро обратно. Это сочетание клавиш старается поместить выделенную ячейку в центр окна.
Ctrl+Shift+J — Во весь экран. — Режим может оказаться очень полезным, когда у нас большой диапазон под таблицу, либо при разделении окна. Единственное, в нём недоступны панели и другие очень удобные элементы, такие как «Навигатор» и «Стилист», поэтому нам нужно использовать горячие клавиши. Но теперь, я думаю, вам будет проще. Маленькая подсказка: в этом режиме есть только одна плавающая панель, на панели всего одна кнопка, но кто нам мешает её настроить в «Сервис» → «Настройки...» на вкладке «Панели»? Вы можете оставить её «плавать» или прикрепить к какой-нибудь стороне, там, где она вам не будет мешать. Маленькая подсказка №2: никто вам не запрещает сделать это окно маленьким. В смысле, это не совсем полноэкранный режим. Это режим, в котором нет панелей инструментов, строки состояния и главного меню. В остальном, это окно как окно, и во Writer тоже.
Ещё одним моментом, который многие знают, но почему-то забывают, является доступность всех пунктов меню через клавиатуру. Посмотрите на меню. В названии каждого пункта есть подчеркнутая буква, эта буква будет активизировать этот пункт меню при нажатии сочетания Alt+эта буква. И хотя в полноэкранном режиме этот фокус не пройдёт, так как нет меню, но в стандартном он иногда выручает.

Навигатор

Эта вещь нужна не всем, реально удобной она становится при работе с документами LibreOffice Calc, содержащими большое количество листов, диаграмм, рисунков, диапазонов. Вызвать её можно нажав F5.

Навигатор в LibreOffice Calc

Если нажать Ctrl и дважды щелкнуть мышкой по области рядом с иконками в этом окне, то оно прикрепится к левой части главного окна Calc, и станет панелью «Навигатор». F5 будет скрывать и показывать эту панель. Для меня вид панели для этого окна более удобен. Но это уже вкусы... Давайте коротко рассмотрим элементы этого окна.
Поля «Столбец» и «Строка» позволяют задавать адрес ячейки, в которую вы хотите перейти. Задав значение, нажмите Enter. Ячейка, адрес которой вы указали в полях, будет выделена и помещена по возможности в центр окна программы.
Кнопка справа от поля столбец названа «Диапазон». Нажатие на эту кнопку позволяет выделить непрерывно заполненную область с ячейками (блок) вокруг ячейки, в которой установлен курсор.
Стрелки «В начало» и «В конец» переносят курсор в первую или последнюю ячейку диапазона. При этом диапазоном считается последняя выделенная область, либо посредством обычного выделения, либо с помощью кнопки «Диапазон», описанной выше. При этом не важно, на какой ячейке находится курсор во время нажатия стрелки. Интересно, даже если вы перейдете на другой лист, стрелки вас будут направлять в ячейки с тем же адресом, но на этом листе. Обратите внимание, если с момента открытия файла никакого диапазона выделено не было, то нажатие на обе стрелки ведет к выделению первой ячейки листа. Однажды мне пришлось разбирать код другого программиста. Из пары тысяч строк, я нашёл лишь один комментарий, дословно он звучал следующим образом: «Это гениальная функция». Других комментариев у меня к этим кнопкам нет. Если вы знаете сакральный смысл действий, который они производят, расскажите мне. Это одна из тех вещей в LibreOffice, смысл которых мне пока еще не открылся.
Кнопка «Содержимое» позволяет скрыть перечень объектов, оставив только основные инструменты навигатора. Бессмысленна, когда он является прикрепленной панелью, но освобождает место, когда навигатор плавающий.
Кнопка «Переключить» позволяет показать либо все группы элементов в списке, либо только ту, в которой находится курсор. Это очень удобная функция, если в группе (например, «Примечания») очень много объектов, и нам нужно работать только с ними.
Кнопка «Сценарии» включает отображение списка сценариев. Сама тема сценариев выходит за рамки этой статьи, если вы хотите узнать о них больше, обратитесь к справке LibreOffice (хотя лучше погуглить по запросу «сценарии Excel»), ну, или дождитесь статьи посвященной им.
Кнопка «Режим перетаскивания» имеет выпадающее подменю и отвечает за то, как будет вставлен объект при перетаскивании его из списка в «Навигаторе». Хочу заметить, что для разных объектов некоторые функции перетаскивания не работают, но это уже отдельная тема.
Внизу окна есть выпадающий список, в нём можно выбрать открытый документ. Зачем? Например, вам нужно перетащить какой-нибудь объект из одного документа в другой. Также можно быстро переходить между объектами, в том числе листами, разных документов. Пункт «Активный документ» предназначен для тех, кто любит работать с большим количеством документов и периодически путаться в них :). Поэтому список объектов в поле окна навигатора правильно называть «Для выбранного» документа, а не для текущего.
Поле со списками объектов — то, ради чего мы весь этот разговор про Навигатор и затеяли. Списки объектов разделены по категориям. Все категории названы достаточно понятно, на мой взгляд, но давайте на всякий случай коротко прокомментирую их.
Категория «Листы» — содержит список всех листов выбранного документа.
Категория «Названия диапазонов» — содержит названия всех определённых при помощи функции «Сервис» → «Задать диапазон...» диапазонов. Подробнее о задании диапазонов как-нибудь в следующий раз.
Категория «Диапазоны баз данных» — в LibreOffice Calc можно определить диапазон ячеек для использования в качестве базы данных. Такой диапазон напоминает таблицу базы данных, в нём каждая строка соответствует одной записи в базе данных, а каждая ячейка в строке соответствует полю базы данных. Как и в обычной базе данных, в таких диапазонах можно осуществлять сортировки, группировки, поиск и выполнение вычислений.
«Связанные области» — содержит названия всех диапазонов из внешних источников данных, созданных при помощи функции «Вставка» → «Ссылка на внешние данные...»
«Изображения» — тут находятся все изображения, вставленные в документ.
«Объекты OLE» — Это объекты, вставленные при помощи «Вставка» → «Объект». То есть именно тут стоит искать диаграммы, рисунки odg, кусочки текстовых документов и другое.
«Примечания» — Тут находятся все ваши примечания. Один нюанс: если в других местах будут названия объектов, которые можно отредактировать, то имя примечания это его содержимое. Естественно, если у вас на разных листах одно и то же примечание, особенно невразумительное (например «а»), то находить нужное будет сложно. Старайтесь делать примечания читабельными, если хотите легко ориентироваться по ним в навигаторе.
«Графические объекты». Насчет этого пункта я могу рассуждать лишь теоретически. По всем описаниям, а их не так и много, в этой категории должны находиться объекты с панели рисования. Но по каким-то неведанным причинам, объекты с этой панели вообще не присутствуют в навигаторе. Вот, как-то так вот.
Общие рекомендации для всех объектов очень простые: не забывайте давать им человекопонятные названия. Пока у вас 1-2 объекта, найти нужный просто, но в больших и сложных документах без проработки названий ориентироваться становится тяжело. Дать название объекту — это пару секунд, клик правой клавишей → «Название...», но зато в навигаторе вы безошибочно его сможете находить с первого раза.

Поиск зависимых и влияющих ячеек

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

Влияющие ячейки в LibreOffice Calc

Визуальная информация воспринимается проще чем текстовая, не правда ли? Весь функционал по работе с влияющими и зависящими ячейками находится в меню «Сервис» → «Зависимости».

Влияющие ячейки в LibreOffice Calc

Есть возможность использовать горячие клавиши. Правда, те горячие клавиши, которые стоят по умолчанию не совсем удобны. Для себя я их переназначил, а также назначил горячие клавиши на пункты «Убрать стрелки к влияющим ячейкам», «Убрать стрелки к зависимым ячейкам» и «Убрать все стрелки». Но эти пункты доступны с клавиатуры и без этого, просто нужно нажать чуть больше кнопок. Например, чтобы показать «Влияющие ячейки» нажмите последовательно сочетание клавиш Alt+t, Alt+p и Alt+d. Обратите внимание, как я уже говорил, нужные буквы для сочетания с клавишей Alt подчеркнуты в пунктах меню.

Выводы

Как видите, панацеи из этого не получается. Это всего лишь предложения для самостоятельных выводов. И многое будет зависеть не только от того, захотите ли вы ускорить свою работу, но и от уже привитых привычек и конкретных решаемых задач. По моему опыту, только за счёт навыков навигации по большим документам можно ускорить работу в 5-6 раз. Чтобы было наглядно, то, что мы делаем за неделю, можно сделать за день. И это, кстати, не предел, это лишь начало. Попробуйте разобраться с этим, пока я пишу вам новую статью, я думаю там будет не меньше информации. Приятной вам работы :)

Дополнительная литература и источники