Показаны сообщения с ярлыком Условное форматирование. Показать все сообщения
Показаны сообщения с ярлыком Условное форматирование. Показать все сообщения

четверг, 30 августа 2018 г.

Руководство по условному форматированию в LibreOffice Calc

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

Ошибка
Статус
Суть ошибки
Новая
Запрос на улучшение: добавить настройку для указания дня начала недели (сейчас это Воскресенье!)
Исправлено
Неправильно отображалось количество дней в неделе, 9 вместо 7
Исправлено 
в 7.2
Не работает прокрутка мышью в списке условий
Новая
Запрос на улучшение: позволить полный вид отображения условия в списке (сейчас отображается полностью только выделенное условие)
Новая
Изменяются настройки условного форматирования при копировании диапазона из Calc в Writer как OLE объекта
Дубликат
Запрос на улучшение: позволить импортировать стили из существующих документов в текущий, как это можно во Writer
Исправлено
Не обновляется тип значка в условном форматировании, если удалить минимальное или максимальное значение в диапазоне
Новая
Столбцы гистограмм слипаются, если в соседних ячейках одинаковые значения
Новая
Некорректная работа при использовании нового пункта контекстного меню ячейки "Условное форматирование"
Исправлено 
в 6.3
Необходимо удалить элемент Максимум из списка, который задает Минимум, и удалить элемент Минимум из списка, который задает Максимум
Новая
Проблема с форматом числа при применении условного форматирования, если формат числа в ячейке был изменен вручную
Исправлено
Нужно изменить некоторые названия условий для типа "Значение ячейки" (там, где было указано число 10)

вторник, 15 мая 2018 г.

Условное форматирование в LibreOffice Calc. Условие содержит ноль, а форматируется пустая ячейка

Наткнулся на нюанс при обработке LibreOffice Calc пустой ячейки (которая не содержит никаких символов вообще), как будто бы там прописано число ноль.
Есть целая статья в справке LibreOffice на тему "Обработка пустых ячеек". На мой взгляд она крайне сложная для понимания, хоть и с примерами.
А я сейчас опишу просто практический пример, как обойти эту проблему при использовании условного форматирования.
Итак, у нас есть условие, что в ячейках А1:A20 значения между 0 и 20 должны быть подсвечены зеленым цветом, вот так:
Мы настроили условие, как на скриншоте выше, однако, если в диапазоне есть пустые ячейки, то при таком условии они для LibreOffice Calc подпадают под соответствие условию (для него эта ячейка равна нулю!). Обратите внимание на ячейку А6 на скриншоте выше. Ячейка эта пустая, однако автоматически залита зеленым цветом.
Чтобы этого избежать, то есть для нас пустая ячейка вовсе не эквивалентна ячейке с введённым значением ноль, нужно задать ещё одно условие, вот таким образом:
То есть мы задали, что при пустой ячейке (равно - двойные кавычки), стиль ячейки должен остаться Стандартным. При этом важно, что данное условие должно обрабатываться Calc'ом перед основным условием, поскольку тут работает приоритет обработки условий! Сделать это можно выделив наше особое условие для пустой ячейки и нажав на кнопку "Вверх" под списком условий. Нажмите кнопку ОК, чтобы условия применились и теперь наша ячейка А6 не заливается зелёным цветом, если она пустая.

четверг, 19 апреля 2018 г.

Условное форматирование в LibreOffice Calc. Условие в виде формулы

Продолжаем серию статей (было тут, тут и тут) про условное форматирование в LibreOffice Calc.
Одним из условий автоматического применения форматирования может быть результат вычисления некой формулы, которая задаётся в диалоге "Условное форматирование":
Итак, выбираем "Формула" из выпадающего списка "Условие 1" и видим такой вид диалога:
А теперь небольшой ньюанс. В зависимости от формулы условное форматирование применяется по умолчанию к Диапазону ячеек, указанному в нижней части диалога. Если вы открыли диалог "Условное форматирование", не выбрав предварительно нужный диапазон ячеек, то после настройки формулы и форматирования вы можете получить не тот результат, на который рассчитывали. Таким образом, первым делом при настройке условного форматирования в зависимости от формулы нужно задать диапазон ячеек, к которым это самое форматирование будет применено.
Далее нужно задать саму формулу в поле справа от выпадающего списка.
Формула имеет вид, например, A1="Зарплата выплачена" - если нужно реагировать на текст в ячейке A1; A1<СУММ(A2:A100) или A1<>C3+C5 или A1=45 - для иных случаев. Всё дело в волшебных кавычках. При этом в адресации ячеек в этом поле так же, как и просто в ячейках рабочего листа можно и нужно (в случае условного форматирования диапазона ячеек) использовать знак $ для фиксации адреса ячейки, которую проверяет формула. Наша формула по сути своей проверяет указанную ячейку на соответствие некоему условию.
Таким образом можно автоматически форматировать ячейки таблицы в зависимости от текущего результата в других ячейках. То есть мы задаём условие в формуле для проверки ячейки А1, а в зависимости от этого форматируем одну или несколько ячеек, например B1:H3.
Конечно же можно сделать неограниченное количество условий для проверки в нашей ячейке А1. Например, можно проверять наличие нескольких ключевых фраз, вроде "На согласовании", "Согласовано", "В процессе" и так далее и для каждого случая настраивать свой цвет ячеек или вид шрифта. В результате мы получаем вот такое:
В этом примере в столбце А можно выбрать из выпадающего списка некий вариант, в зависимости от значения которого форматируется соответствующая строка с B по N. Обратите внимание на вид формулы на иллюстрации выше - $A1="Заключено". Знак доллара нужен для того, чтобы корректно проверялось условие формулы именно по столбцу А для всего диапазона от B до N. Всегда обращайте на это внимание!
Ещё ньюанс напоследок: например, вы хотите настроить условное форматирование для диапазона B1:N13. Перед тем как открывать диалог "Условное форматирование" установите курсор на первую ячейку диапазона (в нашем случае это B1), а затем уже открывайте диалог и выполняйте настройки, обязательно используя знак $ в формуле.

понедельник, 18 декабря 2017 г.

Условное форматирование в LibreOffice Calc. Копирование форматирования

Условное форматирование ячеек в LibreOffice Calc - это автоматическое форматирование ячейки (назначение цвета ячейки, цвета шрифта, размера и типа шрифта, различных эффектов и дополнительных элементов в ячейке) в зависимости от некоего условия. Подробнее о настройках условного форматирования я писал ранее вот здесь.
А в этой заметке я хочу рассказать о такой штуке, как копирование условного форматирования. Какие варианты у нас могут быть? Мы можем настроить условное форматирование для одной ячейки и затем захотеть растянуть форматирование на диапазон ячеек. Также у нас может быть диапазон ячеек с настроенным условным форматированием, а мы хотим либо расширить диапазон, либо скопировать форматирование в новый диапазон, например, на соседний лист.
Как же скопировать условное форматирование или расширить его диапазон?
Вариант №1. Используйте значок "Копировать формат".
Выделите ячейку с нужным условным форматированием. Дважды щелкните по указанному значку на панели инструментов. Щелкайте мышкой по нужным ячейкам. После завершения операции копирования формата нажмите клавишу Esc на клавиатуре.
Плюсы этого варианта - это очень быстро делается.
Минусы этого варианта - если ячеек, куда копируется форматирование, очень много, то есть шанс, что вы ошибетесь в диапазонах или просто устанете тыкать мышкой.
Вариант №2. Используйте возможности диалога "Вставить как".
Выделите ячейку с нужным условным форматированием. Скопируйте ее, используя любой удобный вам вариант (контекстное меню, значок на панели инструментов или меню "Правка"). Выделите нужную ячейку или диапазон ячеек. Нажмите на нём правой кнопкой мыши и выберите пункт контекстного меню "Вставить как > Вставить как...". В открывшемся одноимённом диалоге снимите со всех пунктов галочки в разделе "Выбор" кроме пункта "Форматы":
Нажмите кнопку ОК. Не смотря на то, что вы скопировали всю ячейку целиком вместе с возможными данными, вы вставите в выделенный диапазон только формат ячейки, в том числе и условное форматирование.
Вариант №3. Используйте диалог "Управление условным форматированием".
Выберите пункт меню "Формат > Условное форматирование > Управление". Откроется указанный диалог.
В этом диалоге показываются все настроенные условные форматирования на текущем листе. Выберите в диалоге нужное условное форматирование. Нажмите в нижней части диалога на кнопку "Изменить". Откроется еще одно окно с настройками выбранного условного форматирования:
Обратите внимание на нижнюю часть диалога, строку "Диапазон". Вы можете в этой строке задать диапазон ячеек вместо одной ячейки, используя запись такого вида А1:А50 или А1:В40, либо несколько диапазонов вида А1:А10;В5:В25, либо диапазон и отдельные ячейки вида А1:А10;В4;С4:С15.
Внимание! При попытке в строке "Диапазон" задать несколько диапазонов, используя точку с запятой ";" в качестве разделителя, обращайте внимание на то, что после знака точка с запятой не должно быть пробела! На сегодня в LibreOffice есть ошибка, которая приводит к потере условного форматирования, если после точки с запятой есть пробел. При этом в ОС Windows поле подсвечивается красным цветом, если диапазоны заданы не правильно, а в ОС на основе ядра Linux не подсвечивается! А задать диапазон все равно можно, кнопка ОК даже при неправильном вводе значений доступна для действий!

пятница, 31 марта 2017 г.

Условное форматирование в LibreOffice Calc

Как ни странно, очень многие люди, использующие в работе электронные таблицы Calc, не знают о такой вещи, как условное форматирование. Что такое условное форматирование? Это автоматическое форматирование ячейки в зависимости от данных в ней и условия, заданного пользователем. Например, в зависимости от данных в ячейке может меняться её цвет или, например, такие свойства шрифта, как размер, гарнитура, эффекты или цвет, а также это всё вместе в различных вариациях. Или в ячейке могут быть показаны дополнительные значки или гистограммы (но об этом ниже).
Для чего это нужно? Это нужно для визуального выделения нужных данных среди всех остальных, либо для облегчения визуального восприятия информации. Причем пользователю не нужно всматриваться, пытаться анализировать данные, а затем вручную что-то выделять или помечать. Программа всё сделает за Вас.
Настройки условного форматирования расположены в подменю Формат-Условное форматирование.
Доступны следующие варианты: Условие, Цветовая шкала, Гистограмма, Набор пиктограмм, Дата. Рассмотрим каждый из них подробнее:

Условие.
На иллюстрации ниже видно, что для ячейки необходимо выбрать один из вариантов условия, при соответствии которому, к ячейке будет применён задаваемый стиль форматирования.
Для некоторых типов условий необходимо будет дополнительно задать значения в поле справа от выпадающего списка, о чём выдаётся соответствующее предупреждение "Введите значение!".
Количество условий для ячеек не ограничено. Можно задать одной ячейке условия на все возможные варианты вводимых данных.
На иллюстрации ниже привёден пример результата работы условного форматирования с тремя условиями для каждой ячейки: диапазон от 1 до 10 - красный, от 10 до 50 - жёлтый, свыше 50 - зелёный. Пример абсолютно абстрактный конечно же.
При изменении значения в любой ячейке соответственно изменится форматирование, если число будет относиться к иному заданному диапазону.
Точно так же можно задавать условие для текста, выбирая нужный тип условия в диалоге.
Стиль для форматирования ячейки можно выбрать из имеющихся, а можно создать свой, выбрав первый пункт в выпадающем списке "Применить стиль".

Цветовая шкала.
Этот вариант применим только к диапазону ячеек, поскольку оперирует некоторыми минимальными и максимальными значениями в ячейках диапазона. Поэтому при выборе этого варианта в диалоге Условное форматирование сразу выбрано "Все ячейки":
Доступно два типа цветовой шкалы: 3 значения и 2 значения. На иллюстрации ниже показаны примеры для трёх (красный, жёлтый, зелёный) и для двух (синий, красный) цветов.
Можно явно задать числовой диапазон, указав минимальное, среднее и максимальное значения для трёхцветовой шкалы или минимальное и максимальное для двухцветовой. А можно указать автоматическое определение минимального и максимального значения, выбрав это в выпадающих списках второй строки. Соответственно и цвета будут зависеть от введённых в ячейки диапазона значений. На иллюстрации выше числа выставлены по возрастанию просто для иллюстрации перехода от одного цвета к другому, однако, если числа будет стоять не в строгом порядке, цвета им будет назначаться корректно и отражать их положение относительно минимального или максимального значения в диапазоне. Просто нужно правильно интерпретировать эту цветовую градацию.

Гистограмма.
Этот вариант условного форматирования применим также только к диапазону ячеек. Отображает в каждой ячейке полоску длиной, соответствующей значению в ячейке.
Можно выбрать различные вариации для минимального и максимального значений из выпадающих списков: автоматическое или явное определение минимума и максимума, перцентиль, точное значение, процент или формулу. А также очень важные настройки скрываются под кнопкой "Ещё...":
При нажатии на эту кнопку появится дополнительный диалог "Гистограмма", в котором можно выбрать настройки минимума и максимума, цвета для полосок гистограммы, тип заливки градиент или сплошной цвет, расположение вертикальной оси в ячейке, цвет оси, а также задать максимальную и минимальную длину отображеня гистограммы в процентах от длины ячейки. Опция "Показать только полоску" будучи активированной, скроет значения в ячейках (см. иллюстрацию ниже).
На иллюстрации показаны два варианта гистограмм для одних и тех же числовых значений. Слева установлено автоматическое определение минимума и максимума, типа заливки градиент, длина полоски 100%. Справа - минимум и макисмум заданы вручную (но соответствуют значениям в ячейках), тип заливки - сплошной цвет, максимальная длина полоски ограничена 50%, активна опция "Показать только полоску" - числовые значения в ячейках не показываются, однако никуда не исчезли, на них можно ссылаться и использовать в формулах.

Набор пиктограмм (значков).
Помещает в каждую ячейку выбранный пользователем тип значка, своим видом зависящий от значения в ячейке. Внутри каждого типа существует разделение типа отрицательный, нейтральный, положительный, либо по наполненности от пустого до полного.
Такой тип условного форматирования работает также для некоего диапазона ячеек. В LibreOffice Calc есть достаточно большое разнообразие типов из 3, 4 и 5 значков:
Выбор количества и типа значков зависит от задачи по визуализации данных. 
ИМХО, 3 значка - это когда нужно показать что "всё плохо", "средне", "хорошо"; 4 значка - это когда "всё пропало и погибло", "всё плохо, но не смертельно", "не плохо", "всё хорошо"; 5 значков - "результат ноль", "есть что-то", "уже половину написал", "ещё чуть чуть осталось", "выполнили план!".
Для значков можно задать явные граничные значения, некий процент, который зависит от минимального и максимального значения в диапазоне, а также формулу.

Дата.
Этот вариант можно назначить каждой отдельной ячейке или каждой ячейке из диапазона. Есть некоторое количество условий по дате, обратите внимание на иллюстрацию ниже:
Выпадающий список можно пролистать, чтобы увидеть дополнительные варианты дат. При соответствии выбранному условию к ячейке будет применено форматирование стилем, выбранным в выпадающем списке "Применить стиль". Тут все аналогично типу условного форматирования "Условие".
Ещё мои статьи по теме:
Руководство по условному форматированию в LibreOffice Calc
Условное форматирование в зависимости от даты
Условное форматирование. Копирование форматирования
Условное форматирование. Условие в виде формулы
Условное форматирование. Пустая ячейка обрабатывается, как ноль

пятница, 28 октября 2016 г.

Условное форматирование в зависимости от даты

Все знают, (а кто не знает, тот скоро узнает) что есть такая штука в LibreOffice Calc, как условное форматирование. Это автоматическое форматирование ячейки в зависимости от неких условий. 
Возникла тут у одного хорошего человека необходимость подсветить (выделить цветом) один столбец из множества. Условием для подсветки столбца должно быть совпадение даты, которая прописана в первой строке каждого столбца, с сегодняшней.
Выглядеть это должно вот так:
Сегодня у нас 28.10.2016, соответствующий столбец выделен цветом. Если открыть файл завтра, 29.10.2016, то ни один столбец подсвечен не будет. Если открыть 5 ноября 2016, то подсветится столбец, в первой строке которого стоит дата 05.11.2016.
Реализовано это таким образом (немного не оптимальным, говорю сразу):
Выделите первый столбец, начиная со второй строки сверху (диапазон А2:А_сколько надо)
Выберите пункт меню Формат-Условное форматирование-Управление
В нижней части диалога нажмите кнопку Добавить
В верхней части диалога появится строка с набором опций, в левой её части в выпадающем списке выберите вариант Формула
В строке справа от выпадающего списка введите собственно формулу, которая и будет условием, при соблюдении которого включается подсветка: A$1=TODAY(), которая сравнивает значение из ячейки А1 с сегодняшней датой.
Теперь необходимо задать стиль ячейки, который будет применяться к нашим данным при соблюдении условия. Ниже нашей формулы есть строка Применить стиль в выпадающем списке которой необходимо выбрать вариант Создать стиль, потому что в списке нет нужного нам стиля с цветным фоном:
В следующем диалоге на вкладке Управление задайте стилю вменяемое и узнаваемое имя, например Условное форматирование желтое, а на вкладке Фон выберите нужный цвет и нажмите ОК. Диалог создания стиля закроется и Вы вернетёсь в диалог Условное форматирование.

В диалоге Условное форматирование нажмите ОК ещё раз.
А теперь финт ушами. Мы задали условия автоформатирования только для первого столбца, чтобы задать условия для остальных столбцов, я воспользовался функцией Копировать формат, для которого есть кнопка на Стандартной панели инструментов: выделяете первый столбец, дважды щелкаете мышкой по значку Копировать формат, затем щелкаете по второй сверху ячейке каждого столбца. По завершении процесса нажмите клавишу Esc, чтобы выйти из режима копирования формата.
Вот и всё. При наступлении нужной даты, соответствующий столбец будет отформатирован так, как Вы настроили.