Условное форматирование в диаграммах Excel.
Изучая статистику по коронавирусу (актуальному на момент написания статьи), я зашел на информационную страницу Яндекса с данными по заболеваниям и выздоровлениям и обнаружил там довольно интересную диаграмму:
Заинтересовало меня то, что цвет столбца изменяется в зависимости от соответствующего значения. И чем больше это значение, тем сильнее «краснеет» цвет столбца диаграммы. То есть, грубо говоря, это — условное форматирование столбцов диаграммы, где условие — принадлежность числового значения самого столбца к некоторому диапазону.
Мне захотелось реализовать что-то подобное в Excel, но я с удивлением обнаружил, что стандартные инструменты для реализации условного форматирования диаграммы в нем отсутствуют. Да, можно вручную закрасить нужный нам столбец в определенный цвет, но если у нас много условий закрашивания или много столбцов в диаграмме — это будет довольно проблематично. Именно поэтому, я решил немного углубиться в эту тему и найти возможные способы, с помощью которых можно реализовать хоть какое-то «Условное форматирование» в диаграммах Excel.
Условное форматирование с помощью дополнительных столбцов.
Один из вариантов создания такого условного форматирования — расширение основной таблицы. Мы добавляем несколько новых столбцов, в каждый из которых будут отбираться наши основные значения, в зависимости от выполнения того или иного условия. Далее, строим новую диаграмму, где источником данных будут являться все наши второстепенные столбцы. В настройках таблицы включаем стопроцентное перекрытие рядов и для каждого из ряда выбираем свой цвет.
На словах, возможно, звучит немного запутанно, но сейчас все покажу на примере.
Зеленым выделена наша основная таблица с данными. Справа от нее — 4 столбца, по которым распределяются исходные значения, в зависимости от попадания в определенный диапазон:
- Значения менее 3000. Формула в ячейке C2: =ЕСЛИ(B2<3000;B2;НД())
- Значения более 3000, но менее 5000. Формула в ячейке D2: =ЕСЛИ(И(B2>=3000;B2<5000);B2;НД())
- Значения более 5000, но менее 7000. Формула в ячейке E2: =ЕСЛИ(И(B2>=5000;B2<7000);B2;НД())
- Значения более 7000. Формула в ячейке F2: =ЕСЛИ(B2>=7000;B2;НД())
Если значение не попадает в какой-либо диапазон, то в соответствующем столбце выводится ошибка #Н/Д. Это нужно для того, чтобы «неправильные» значения не отображались на диаграмме. Если вам мешаются ячейки с #Н/Д, то могу предложить несколько вариантов:
- Включить классическое условное форматирование для ячеек, которое будет изменять цвет шрифта ячеек с ошибками на белый. Таблица будет выглядеть опрятнее.
- После построения диаграммы, скрыть столбцы с дополнительной частью таблицы. Изначально, диаграмма не будет отображать скрытые данные, но это решается установкой галочки «Показывать данные в скрытых строках и столбцах» в настройках (при выборе источника данных для диаграммы).
После этого, вставляем новую диаграмму и источником выбираем всю нашу большую таблицу, исключая начальный столбец со значениями (чтобы не было задвоения данных на диаграмме). После этого, как я уже говорил, устанавливаем «Перекрытие столбцов» на 100% и получаем уже готовую таблицу, в которой уже реализовано условное форматирование.
Далее, если Вам необходимо, изменяете ширину столбцов и цвет каждой группы данных (цвет каждого столбца изменять не нужно). Такое условное форматирование динамично: не нужно каждый раз перестраивать дополнительную таблицу, достаточно просто заменить значения в исходной и столбцы все перестроятся и перекрасятся.
Условное форматирование диаграммы с помощью VBA.
Второй вариант — использование макросов VBA. Нравится этот способ мне гораздо больше: не нужно строить лишние таблицы, выбирать новые источники данных в настройках и настраивать «корректный» вывод ошибок с «#Н/Д». Достаточно один раз подготовить код и использовать его по необходимости.
Есть несколько алгоритмов для закрашивания столбцов диаграммы с помощью макросов на VBA , но ниже я приведу пример того, который я считаю наиболее оптимальным и удобным. В нем мы напрямую обращаемся к столбцам диаграммы и соответствующим значениям, не затрагивая сам источник данных (то есть нам не важно, где расположена сама таблица со значениями):
Sub conditional_formatting() Dim X As Object Dim Mass() counter = 1 FirstValue = 700000 'первое число для диапазонов SecondValue = 900000 'второе число для диапазонов If ActiveChart Is Nothing Then 'проверка выделения диаграммы MsgBox "Необходимо выделить нужную Вам диаграмму.", vbInformation + vbOKOnly, "Внимание!" Exit Sub End If For Each X In ActiveChart.SeriesCollection Mass = X.Values n = UBound(Mass) - LBound(Mass) + 1 For i = 1 To n Set ChartColumn = ActiveChart.SeriesCollection(counter).Points(i) If Mass(i) < FirstValue Then ChartColumn.Interior.Color = RGB(255, 0, 0) ElseIf (Mass(i) >= FirstValue And Mass(i) < SecondValue) Then ChartColumn.Interior.Color = RGB(255, 209, 0) Else ChartColumn.Interior.Color = RGB(26, 163, 57) End If Next counter = counter + 1 Next End Sub
Все просто. Данный макрос подсвечивает диаграмму тремя цветами (по типу «Светофор»: красный, желтый и зеленый), в зависимости от принадлежности значения столбца диаграммы к определенному диапазону. Диапазонов, соответственно, тоже три и задаются они с помощью двух переменных: FirstValue и SecondValue (все значения меньше FirstValue, между FirstValue и SecondValue и больше SecondValue). Значения этих переменных задаются в макросе, точно так же, как и цвета.
При запуске данного макроса мы получим следующий результат:
Все столбцы со значением менее 700000 были залиты красным цветом, со значением более 900000 — зеленым, а в диапазоне от 700000 до 900000 — желтым.
Если очень хочется, условное форматирование диаграммы через макрос можно усовершенствовать:
- Добавить еще несколько условий
- Добавить под новые условия новые цвета
- Создать форму VBA, на которой можно будет самостоятельно выбирать цвета через палитру и задавать диапазоны условий, не изменяя код
Также, на лист с диаграммой можно добавить обработку события (автоматическое выполнение кода при определенном действии пользователя), которое будет автоматически запускать закрашивание диаграммы, при изменений значений в источнике данных. В таком случае, условное форматирование становится динамичным и отпадает необходимость каждый раз запускать макрос, достаточно просто изменить значение в исходной таблице. В примере, который можно скачать в конце статьи, оно реализовано следующим образом:
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B2:B19")) Is Nothing Then Exit Sub 'это диапазон нашего источника данных MainCell = ActiveCell.Address 'сохраняем адрес выделенной ячейки ActiveSheet.ChartObjects(1).Activate 'выделение первой диаграммы на листе conditional_formatting Range(MainCell).Activate 'выделяем ячейку по сохраненному адресу End Sub
Сначала идет проверка на принадлежность изменяемой ячейки к нужному нам диапазону, затем выделяется диаграмма, а после — диаграмма закрашивается заново. В данном коде выделяется именно первая диаграмма листа, поэтому если диаграмм на листе несколько — в код нужно подставить порядковый номер искомой диаграммы.
Надстройка SHTEM для Excel.
Условное форматирование для диаграммы реализовано пока что только в тестовой версии надстройки SHTEM для Excel: с формой для ввода ограничений и несколькими заданными наборами цветов (в том числе и с градиентом). Сейчас функция тестируется на работоспособность в различных условиях и спустя некоторое время будет добавлена в основную версию надстройки.
Предварительный вариант инструмента условного форматирования диаграмм в тестовой версии надстройки выглядит следующим образом:
Диапазоны для градиента могут заполняться автоматически (числовой ряд будет делиться на 5 равных отрезков). Возможно, чуть изменю цвета и добавлю еще несколько вариантов градиента, а также добавлю возможность выбирать пользовательские цвета из палитры.
Напомню, что скачать надстройку может абсолютно любой желающий: изначально дается тестовый период на 30 дней, а затем, если необходимо, я могу выдать вам код для активации неограниченного доступа.
Условное форматирование: заключение.
Если Вы часто формируете диаграммы, где столбцы должны быть залиты разными цветами, в зависимости от их значения — перечисленные способы безусловно вам подойдут. «Гибкими» их, конечно, не назовешь, но в любом случае, это лучше, чем ручная заливка каждого из столбцов. Если Вам известны какие-нибудь другие способы условного форматирования диаграммы или просто хотите дополнить мою статью — пишите об этом в комментариях, обязательно все прочитаю. А скачать файл с реализацией перечисленных здесь способов заливки диаграммы, можно нажав на кнопочку ниже:
Условное форматирование для диаграмм: скачать пример
На листе Excel условное форматирование достаточно легко реализовать. Данная встроенная возможность находится на вкладке Главная ленты Excel. Условное форматирование для диаграмм – это совсем другая история.
Люди достаточно часто спрашивают меня, как применить условное форматирование к диаграммам, то есть чтобы при изменении значений в ячейках, изменялись цвета столбцов (маркеров, точек …) диаграммы. Существует два подхода к решению проблемы. Первый, с помощью макроса, который отслеживает изменения на листе и вносит необходимые корректировки в отдельные элементы диаграммы. Второй работает без использования макросов, и сегодня мы его рассмотрим.
Диаграмма без форматирования
Ниже приведен простой пример данных для построения диаграммы с условным форматированием …
… которые построят простую неотформатированную гистограмму …
… или простую линейчатую диаграмму
Нам необходимо, чтобы в зависимости от значений ряда данных, отдельные элементы диаграммы закрашивались в определенный цвет.
За исключением некоторых простых встроенных форматов, условное форматирование рабочего листа требует наличие формулы для определения того, какие клетки будут отформатированы. Таким же образом мы поступим для определения форматирования в диаграммах.
Мы заменим оригинальный график линии или гистограммы несколькими рядами данных, по одному для каждого услвия. Так как наши данные находятся в диапазоне от 0 до 5,07, мы создадим ряд для диапазонов 0-0,5; 0,5-1,5; 1,5-3; 3-4,5 и 4,5-6.
Диаграмма с условным форматированием
Ниже показаны данные для диаграммы с условным форматированием. Диапазон условий форматирования находится в строках 1 и 2, формулы для заголовка находятся в диапазоне C3:G3. К примеру, формула, находящаяся в ячейке С3, выглядит следующим образом:
=C1&»<Y<=»&C2
Формула для ячейки С4:
=ЕСЛИ(И(C$1<$B4;$B4<=C$2);$B4;»»)
Данная формула отображает значение колонки B, если оно лежит в диапазоне от 4,5 до 6, в противном случае, возвращается пустая ячейка. Диапазон C4:G13 заполнен этой формулой.
Во время выделения диаграммы, мы увидим источник данных для графика
Нам необходимо изменить источник данных, убрав колонку B и добавив колонки C:G. Это делается просто, путем перетаскивания и изменения размеров выделенной области.
Теперь наша диаграмма имеет 5 наборов цветных столбцов, по одному цвету на каждый ряд данных. Это не совсем верно, но так как у нас кластерный тип диаграммы, мы видим определенный ряд данных с 4-мя пустыми значениями.
Ситуацию легко исправить, назначив 100%-ное перекрытие одного из столбцов. Это позволит перекрыть пустой столбик видимым.
Линейчатая диаграмма с условным форматированием
Отличием построения линейчатой диаграммы от гистограммы будет формула, определяющая попадание значения по оси Y в диапазон условий и возвращающая ошибку #Н/Д, если условие не соблюдается. Формула в диапазоне C4:G13 будет выглядеть следующим образом:
=ЕСЛИ(И(C$1<$B4;$B4<=C$2);$B4;НД())
Нам необходимо будет расширить источник данных, оставив при этом колонку B, как линию соединяющую все точки, и добавив колонки C:G, как отдельно отформатированные ряды данных.
Теперь диаграмма состоит из маркеров и отрезков пяти цветов, по одному на каждый ряд данных.
Немного подправим формат нашей диаграммы. Удалим маркеры оригинального ряда данных (серый), удалим цветные отрезки и определим другие маркеры для добавочных рядов данных. Также удалим ненужные элементы легенды (для серого графика), для этого необходимо щелкнуть по легенде, затем по лишнему элементу и нажать клавишу Delete.
Гибкость условного форматирования
Этот простой пример форматирования определяемый формулами, основан на значениях шкалы Y. Нет никаких сложностей в определении форматирования на основе значений по шкале X или Y, или даже значений, находящихся в другом столбце, которые даже не отображены. Как и при работе с традиционным условным форматированием, ограничением станет только ваша возможность строить формулы.
Например, у вас есть таблица оценок класса, и вы хотите создать диаграмму для цветных оценок в разных диапазонах, таких как больше 90, меньше 60 и между 60 и 90, как показано на скриншоте ниже, как бы вы справились Это? В этой статье будет представлен способ создания диаграммы с условным форматированием для ее решения.
- Создать диаграмму с условным форматированием в Excel
- Создайте диаграмму с условным форматированием с помощью замечательного инструмента
- Условное форматирование существующей диаграммы
Создать диаграмму с условным форматированием в Excel
Чтобы различать оценки в разных диапазонах на диаграмме, вы можете создать диаграмму с условным форматированием в Excel.
1. Добавьте три столбца справа от исходных данных, как показано ниже:
(1) Назовите первый столбец как >90введите формулу =IF(B2>90,B2,0) в первой пустой ячейке этого столбца, а затем перетащите маркер автозаполнения на весь столбец;
(2) Назовите второй столбец как <60введите формулу =IF(B2<60,B2,0), и перетащите маркер автозаполнения на весь столбец;
(3) Назовите третий столбец как 60~90введите формулу =IF(AND(B2>=60,B2<=90),B2,0)и перетащите маркер автозаполнения на весь столбец.
Теперь вы получите новые исходные данные, как показано на скриншоте ниже:
2, Выберите Имя и фамилия столбец и новые три столбца с удержанием Ctrl ключ, а затем щелкните Insert > Insert Column or Bar Chart (or Column) > Clustered Column. Смотрите скриншот:
Теперь диаграмма с условным форматированием создана. Вы увидите, что баллы больше 90 — синие, оценки меньше 60 — оранжевые, а оценки от 60 до 90 — серые. Смотрите скриншот:
Создайте диаграмму с условным форматированием с помощью замечательного инструмента
Если у вас есть Kutools for Excel установлен, вы можете использовать его Таблица группировки цветов возможность быстрого создания диаграммы с условным форматированием в Excel.
Kutools for Excel— Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
1. Выберите источник данных, на основе которого вы создадите диаграмму, и нажмите Кутулс > Графики > Таблица группировки цветов для включения этой функции.
2. В таблице группировки цветов сделайте следующее:
(1) Отметьте Столбчатая диаграмма вариант;
(2) Укажите диапазон меток осей;
(3) Укажите диапазон значений серии;
(4) В группы раздел, нажмите Добавить кнопка. Затем в диалоговом окне Добавить группу укажите имя группы, диапазон данных и определенные значения диапазона, которые вам нужны, и нажмите кнопку Добавить кнопку.
Tips: Эта функция добавит правило условного форматирования по одной группе. Если вам нужно добавить несколько правил условного форматирования для диаграммы, добавьте столько групп, сколько вам нужно.
3, Нажмите Ok кнопку.
Теперь вы увидите, что создана столбчатая диаграмма, и столбцы окрашены в соответствии с указанными группами.
Заметки: При изменении значений в источнике данных цвет заливки соответствующих столбцов будет изменен автоматически в зависимости от указанных групп.
Условное форматирование существующей диаграммы
Иногда вы могли создать столбчатую диаграмму, как показано на скриншоте ниже, и теперь хотите добавить условное форматирование для этой диаграммы. Здесь я рекомендую Таблица цветов по значению особенность Kutools for Excel Для решения этой проблемы.
Kutools for Excel— Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
1. Выберите диаграмму, для которой нужно добавить условное форматирование, и нажмите Кутулс > Графики > Таблица цветов по значению для включения этой функции.
2. В диалоговом окне «Цвет заливки диаграммы» выполните следующие действия:
(1) Выберите критерий диапазона из Данные раскрывающийся список;
(2) Укажите значения диапазона в Минимальное значение or Максимальное значение коробки;
(3) Выберите цвет заливки из Цвет заливки раскрывающийся список;
(4) Щелкните значок Заполнять кнопку.
Tips:
(1) Операции (1) — (4) изменят цвет заливки столбцов, значения точек данных которых попадают в указанный диапазон данных.
(2) Если вы хотите изменить цвет заливки других столбцов, вам необходимо повторить операции (1) — (4) для создания других правил, говорит, что изменить цвет заливки столбцов, значения точек данных которых находятся между 60 и 90, на серый .
3. После завершения операций нажмите кнопку Закрыть кнопку, чтобы выйти из функции.
Ноты: Этот метод полностью изменит цвет заливки столбцов на диаграмме. Если вы измените значения в исходных данных, цвета заливки соответствующих столбцов не изменятся.
Статьи по теме:
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Проектная диаграмма Ганта с помощью условного форматирования
Если вам приходится часто строить графики проектов, отпусков, тренингов и т.д., то есть любых долгих и сложных многоэтапных мероприятий, то этот простой, но красивый прием придется вам ко двору. Предположим, что у нас имеется вот такая таблица:
Идея состоит в использовании условного форматирование, чтобы заставить Excel заливать ячейку заданным цветом, если она по дате попадает между началом и концом этапа. Для этого выделите весь диапазон, где должна быть диаграмма (в нашем примере — начиная с ячейки D3 и до конца таблицы) и затем жмем на вкладке Главная (Home) кнопку Условное форматирование — Создать правило (Conditional Formatting — New Rule), выбираем последний тип Использовать формулу для определения форматируемых ячеек (Use a formula to determine which cells to format) и вводим формулу:
По сути, эта формула делает простую вещь — функция И (AND) проверяет обязательное выполнение двух условий, чтобы дата для текущей ячейки была позже, чем дата начала этапа и раньше даты окончания. Если оба эти условия выполняются, то ячейка находится внутри этапа, т.е. должна быть залита. Нажав на кнопку Формат (Format) можно выбрать необходимый цвет.
Просто и красиво, не правда ли?
В более «навороченном» варианте такая диаграмма может менять шаг временной шкалы, учитывать наличие выходных и праздничных дней и подсвечивать выбранную строку/столбец:
Основа здесь все та же — условное форматирование. Плюс добавлены:
- задержка перед началом этапа (может быть положительно или отрицательной или =0)
- проценты выполнения по каждому этапу с их подсветкой на диаграмме
- функция РАБДЕНЬ (WORKDAY) для расчета не календарных, а рабочих дней
- подсветка праздников и выходных все тем же условным форматированием с помощью функции ДЕНЬНЕД (WEEKDAY)
- координатная подсветка текущей строки и столбца с помощью специального макроса
Microsoft Project нам так, конечно, не переплюнуть, но приблизиться к нему в визуальной части вполне можно
Ссылки по теме
- Построение диаграммы Ганта в Excel 2010 (видеоурок)
- Выделение дубликатов цветом
Содержание
- Примеры формул в диаграммах
- Создание динамических диаграмм
- Условное форматирование в диаграмме
- Проблемы с отображением видео:
- Диаграмма с помощью условного форматирования.
Диаграммы позволяют нам комфортно воспринимать информацию. Excel обладает широкими возможностями для создания диаграмм и графиков. А если добавить к диаграммам формулы, то тогда появляется дополнительная возможность для создания динамических отчетов и презентаций.
Рассмотрим, как применять формулы и условное форматирование в диаграммах Excel.
Примеры формул в диаграммах
Построим на основе ряда данных простой график с маркерами:
Если щелкнуть по любой точке графика, то в строке формул появится функция РЯД. Именно с ее помощью генерируются ряды данных всех диаграмм. Эта функция применяется только для определения значений точек на графиках. Просто использовать ее на рабочем листе невозможно.
Аргументы функции РЯД:
- Имя (название ряда данных, отображается в легенде; не обязательный аргумент);
- Подписи категорий (метки, появляющиеся на оси категорий; не обязательный аргумент);
- Значения (которые применяются для построения графика; обязательный параметр);
- Порядок (порядок значений в ряду данных; обязательный параметр).
Аргументы функции РЯД можно найти и изменить в диалоговом окне «Выбрать данные»:
Выделим элемент легенды «y» и щелкнем по кнопке изменить. В поле «Имя ряда» содержится аргумент функции «Имя»:
Название ряда данных – «y». Его можно менять.
В поле «Значения» — аргумент значений ряда данных.
Подписи горизонтальной оси – это аргумент функции РЯД «Подписи категорий»:
Так как наш график построен на основе одного ряда данных, то порядок равняется единице. Данный аргумент отражается в списке «Элементы легенды».
Аргументы функции РЯД допускают применение именованных диапазонов. Если воспользоваться данной возможностью, то можно создать динамическую диаграмму, быстро переключаться между данными одного ряда.
Присмотримся поближе к применению именованных динамических диапазонов при построении диаграмм.
Создание динамических диаграмм
Для имеющейся исходной таблицы с данными создадим именованные диапазоны: для первого столбца – категорий – «х»; для второго – точек данных – «у».
Открываем вкладку «Формулы» — нажимаем кнопку «Диспетчер имен».
В диалоговом окне жмем «Создать». Откроется окно «Создание имени». В поле «Имя» вводим имя диапазона. В поле «Диапазон» — формулу для ссылки на данные в первом столбце (=СМЕЩ(Лист1!$A$1;1;0;СЧЁТЗ(Лист1!$A$1:$A$20)-1;1)).
Чтобы заголовок ряда данных не включался в именованный диапазон, за аргументами функции СЧЕТЗ ставим «-1». В качестве диапазона можно указывать весь столбец А – Excel быстро определяет пустые ячейки. В примере мы поставили лишь первые 20 ячеек.
Создаем именованный диапазон для второго столбца. По такому же принципу.
Теперь поменяем ссылки на ряд данных в графике именами динамических диапазонов. Вызываем диалоговое окно «Выбор источника данных». Выделяем элемент легенды и нажимаем «Изменить». Меняем ссылки в поле «Значения» на имя диапазона.
Далее жмем «Изменить подписи горизонтальной оси». Задаем для диапазона назначенной имя.
График остается прежним. Но если мы добавим в имеющуюся таблицу новые данные, они тут же попадут на диаграмму.
При работе с огромным массивом данных иногда нужно создать диаграмму только на основе некоторого количества последних значений в ряду. Чтобы формула выбирала только их, при формировании динамического именованного диапазона прописываем следующее: =СМЕЩ(Лист1!$A$1;СЧЁТЗ(Лист1!$A$1:$A$1000)-40;0;40;1). По такому же принципу – для столбца В.
Сколько бы данных мы ни добавляли в исходную таблицу, на графике будет показано только последние 40 значений.
Условное форматирование в диаграмме
Данный инструмент достаточно просто используется для обычных данных. Для диаграмм в Excel применить встроенное условное форматирование невозможно. Нужно идти другим путем.
Зачем это? Для улучшения восприятия информации. При изменении значений в исходных ячейках автоматически будет меняться цветовое исполнение диаграммы.
Выполнить условное форматирование в диаграммах можно с помощью макросов и формул. Рассмотрим второй способ.
На основании тех же исходных данных составим гистограмму:
Так выглядит диаграмма без форматирования. Нужно сделать следующим образом: отдельные столбики должны закрашиваться в определенный цвет в зависимости от значения.
Для условного форматирования требуется формула, которая определяет отформатированные ячейки.
Для каждого условия создадим отдельный ряд данных. Значения в исходной таблице находятся в диапазоне от 0,06 до 5,7. Создадим ряд для периодов 0-0,6; 0,6-1,6; 1,6-3; 3-4,6; 4,6-6.
Сформируем данные для гистограммы с условным форматированием. Диапазон условий внесем в строки 1 и 2. Заголовки – в строку 3. Формулы для заголовков:
Заполним колонки для диаграммы с условным форматированием. Воспользуемся формулой, которая будет отображать значения, находящиеся в диапазонах заголовков.
Источник данных для гистограммы – столбцы А и В. Нужно исключить колонку В и добавить вновь созданный диапазон С:F.
Теперь столбики диаграммы окрашены в разные цвета в зависимости от значения.
Если вам приходится часто строить графики проектов, отпусков, тренингов и т.д., то есть любых долгих и сложных многоэтапных мероприятий, то этот простой, но красивый прием придется вам ко двору. Предположим, что у нас имеется вот такая таблица:
Идея состоит в использовании условного форматирование, чтобы заставить Excel заливать ячейку заданным цветом, если она по дате попадает между началом и концом этапа. Для этого выделите весь диапазон, где должна быть диаграмма (в нашем примере — начиная с ячейки D3 и до конца таблицы) и затем:
- в Excel 2003 и старше: выберите в меню Формат — Условное форматирование — Формула (Format — Conditional Formatting — Formula) и введите в появившуюся строку следующую формулу:
- в Excel 2007 или новее: жмем на вкладке Главная (Home) кнопку Условное форматирование — Создать правило (Conditional Formatting — New Rule) , выбираем последний тип Использовать формулу для определения форматируемых ячеек (Use a formula to determine which cells to format) и вводим аналогичную формулу:
По сути, эта формула делает простую вещь — функция И (AND) проверяет обязательное выполнение двух условий, чтобы дата для текущей ячейки была позже, чем дата начала этапа и раньше даты окончания. Если оба эти условия выполняются, то ячейка находится внутри этапа, т.е. должна быть залита. Нажав на кнопку Формат (Format) можно выбрать необходимый цвет.
Просто и красиво, не правда ли?
В более «навороченном» варианте такая диаграмма может менять шаг временной шкалы, учитывать наличие выходных и праздничных дней и подсвечивать выбранную строку/столбец:
Основа здесь все та же — условное форматирование. Плюс добавлены:
- задержка перед началом этапа (может быть положительно или отрицательной или =0)
- проценты выполнения по каждому этапу с их подсветкой на диаграмме
- функция РАБДЕНЬ (WORKDAY) для расчета не календарных, а рабочих дней
- подсветка праздников и выходных все тем же условным форматированием с помощью функции ДЕНЬНЕД (WEEKDAY)
- координатная подсветка текущей строки и столбца с помощью специального макроса
Microsoft Project нам так, конечно, не переплюнуть, но приблизиться к нему в визуальной части вполне можно
Проблемы с отображением видео:
Диаграмма с помощью условного форматирования.
Когда-то давно «нарисовал» диаграмму используя условное форматирование. Недавно показал на тренинге — народу понравилось. Может быть и вам пригодится.
Файлы для скачивания:
Файл | Описание | Размер файла: | Скачивания |
---|---|---|---|
Пример | 7 Кб | 1115 |
Итак, собственно говоря из-за чего весь сыр бор:
Чтобы увидеть видео включите в браузере GIF-Анимацию.
Давайте приступим. Для начала рисуем такую таблицу:
Далее выделяем диапазон ячеек «F4:M8» в главном меню переходим во вкладку «Главная», в разделе «Стили» нажимаем кнопку «Условное форматирование», в выпавшем списке выбираем пункт «Создать правило»:
В открывшемся окне, в списке «Выберите тип правила» выбираем пункт «Использовать формулу для определения форматируемых ячеек». В разделе «Измените описание правила» в строку формул вбиваем такую формулу «=$E4>=F$3«. Устанавливаем формат. Я установил градиентную заливку от «белого» к «красному». Нажимаем кнопку «ОК»:
Повторяем операцию для диапазона «N4:O8» и «P4:Q8» только назначаем им другие цвета. В итоге всех манипуляций у вас должно получиться три правила:
После того как правила созданы вводим значения выполнения плана в диапазон «D4:D7» и наблюдаем как MS Excel закрашивает ячейки.
- Распечатать
Оцените статью:
- 5
- 4
- 3
- 2
- 1
(0 голосов, среднее: 0 из 5)
Поделитесь с друзьями!
Автоматизация диаграмм
Содержание |
---|
Условное форматирование таблицы данных |
Автоматизация диаграммы |
Пример без автоматизации |
При разработке финансовых моделей типичной задачей является наглядное представление плановых и фактических данных. Пожалуй, наилучший способ такого разделения – это окрашивание табличных данных различным цветом фона. Любой пользователь Excel сделает такую операцию без труда, если речь идет о разовой работе. Другое дело, если финансовая модель предполагает сдвиг по времени, а фактический период не четко закреплен за диапазоном ячеек. Четко отслеживать область окраски, особенно, если столбцы имеют разное форматирование, не так уж и просто, а, главное, что совершенно не производительно – рабочее время тратится впустую.
Условное форматирование таблицы данных
Правильный способ работы с подобными задачами – это использование условного форматирования. В примерах к статье при помощи условного форматирования фактическая информация в таблице данных выделена серым цветом фона.
Формула условного форматирования сравнивает ячейку периода текущего столбца с определенной фактической датой ($B$7). Выбор управляющего периода можно сделать через организацию списка (диалог «Проверка данных»).
Автоматизация диаграммы
Теперь усложним задачу. Качественная финансовая модель в Excel включает в себя не только табличные данные, но и графические формы отображения результата – графики, диаграммы, спарк-лайны. Раскрасить диаграмму по частям можно вручную через диалог «Формат точки данных», выбрав предварительно единичный элемент ряда (клик на ряд, затем двойной клик на точку, блок или линию):
Очевидно, что перекрашивать таким образом участки диаграммы при сдвиге периода совсем не хочется. Используя VBA, можно автоматизировать эту рутинную операцию. Пример содержится в файле diag1.xlsm (после загрузки необходимо разрешить макросы).
Процедура перерисовки области диаграммы:
Option Explicit Public Sub RepaintChart1() RepaintChart_ CLng(ThisWorkbook.Names("LastActualPeriod").RefersToRange.Value), shtMain.ChartObjects(1).Chart.SeriesCollection(1) End Sub Private Sub RepaintChart_(nDate As Long, oChartRow As Excel.Series) Dim XValues As Variant Dim nPoint As Long Dim isPlan As Boolean XValues = oChartRow.XValues For nPoint = 1 To oChartRow.Points.Count isPlan = (XValues(nPoint) > nDate) oChartRow.Points(nPoint).Format.Fill.ForeColor.ObjectThemeColor = _ IIf(isPlan, msoThemeColorAccent2, msoThemeColorAccent1) oChartRow.Points(nPoint).Format.Line.ForeColor.ObjectThemeColor = _ IIf(isPlan, msoThemeColorAccent2, msoThemeColorAccent1) Next End Sub
В качестве параметров в процедуру передается управляющая дата, а также ссылка на ряд диаграммы (объект Series коллекции SeriesCollection). Для удобства дата задана в рабочей области таблицы через именованную ячейку. Макрос обновления диаграммы можно вызывать в любой момент времени (например, через Alt+F8). В примере вызов макроса осуществляется по событию изменения данных на листе 1:
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim oCell As Excel.Range For Each oCell In Target.Cells If oCell.Address = Me.Parent.Names("LastActualPeriod").RefersToRange.Address Then RepaintChart1 End If Next End Sub
Пример без автоматизации
В файле diag2.xlsx показано, как можно обойтись без автоматизации при решении подобной задачи.
Для построения диаграммы используются вспомогательные данные (скрытие строки 4:5). Формулами разделяют плановый и фактические ряды диаграммы. При этом они заранее окрашены разным цветом, но пустые значения просто не отображается в виде столбца.
Внешний вид результатов на диаграмме визуально мало отличается от первой версии, только цветные столбики в два раза тоньше. К сожалению, для линейных графиков такой метод не подходит – линия будет проходить по нулевой отметке.
Смотри также
» Условное форматирование
Форматирование ячеек Excel предназначено для представления информации в удобном наглядном виде, что повышает уровень понимания…
» Анимированные диаграммы
Анимированные диаграммы можно использовать как часть презентации. Наглядное изменение показателей, сделанное при помощи анимации,…
» Визуальные элементы
Визуально отобртазить данные электронных таблиц можно несколькими методами. В Excel 2010 добавлен специальный элемент интерфейса -…
Skip to content
Условное форматирование диаграммы Ганта
На чтение 1 мин. Просмотров 1.8k.
Содержание
- Общая формула
- Объяснение
- Как работает формула
Общая формула
=И(дата>=начало;дата<=окончание)
=AND(date>=start,date<=end)
Объяснение
Чтобы построить диаграмму Ганта, вы можете использовать
условное форматирование с формулой, используя на функцию И.
В показанном примере формула, применяемая к D5, равна:
=И(D$4>=$B5;D$4<=$C5)
=AND(D$4>=$B5,D$4<=$C5)
Как работает формула
Хитрость данного подхода — это заголовок календаря, который
представляет собой всего лишь несколько допустимых дат, отформатированных с
использованием формата пользовательского формата «д». Это упрощает настройку
условного правила форматирования, которое сравнивает дату, связанную с каждым
столбцом, с датами в столбцах B и C.
Формула использует функцию И с двумя условиями. Первые условия проверяют, превышает ли дата столбца или равна дате начала:
D$4>=$B5
Второе условие проверяет, что дата столбца меньше или
равна дате окончания:
D$4<=$C5
Когда оба условия возвращают истина, формула возвращает ИСТИНА, применяя синюю заливку для ячеек в сетке календаря.
Примечание: оба условия используют смешанные ссылки, чтобы гарантировать правильное обновление ссылок, поскольку условное форматирование применяется к сетке календаря.