На чтение 3 мин. Просмотров 1.1k. Опубликовано 15.12.2019
Содержание
- Описание работы
- Зачем это нужно?
- Код на VBA
- Изменение цвета текста в ячейке или диапазоне
- Применение дополнительного цвета
- Форматирование цвета ярлычка листа
Описание работы
Функция =ЦВЕТШРИФТА(ЯЧЕЙКА) возвращает код цвета шрифта указанной ячейки. Функция имеет один обязательный аргумент.
- ЯЧЕЙКА — ссылка на ячейку, цвет шрифта которой необходимо определить.
Ниже представлен пример, демонстрирующий работу функции.
Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета шрифта ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9
Зачем это нужно?
С помощью данной функции, мы можете быстро сортировать ячейки с определенным цветом шрифта, подсчитывать их количество. К примеру, можно создать отдельный столбец и протянуть в нем данную функцию, для того, чтобы по этому столбцу быстро отсортировать строки с различным шрифтом. Можно создать сводную таблицу, в которой будет вестись подсчет ячеек с заданным цветом шрифта.
Код на VBA
Вы можете самостоятельно внедрить данную функцию в Excel или установить надстройку.
Для Excel — 2007 на главной панели выбираете «Условное форматирование» — «Правила выделения ячеек» — «Другие правила» — «Использовать формулу для определения форматируемых ячеек» — «Форматировать значения, для которых следующая формула является истинной»
Далее задаёте формулу и формат (в Вашем случае — цвет выделения текста) .
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Данные на листах можно сделать более удобными для восприятия, изменив цвет шрифта в ячейках или диапазонах, цвет ярлычков листов или формул.
Сведения о том, как изменить цвет фона ячеек или применить узоры или цвета заливки, см. в разделе Добавление или изменение цвета фона ячеек.
Изменение цвета текста в ячейке или диапазоне
Выделите ячейку или диапазон ячеек с данными, которые вы хотите отформатировать. Вы также можете выбрать часть текста в ячейке.
На вкладке Главная щелкните стрелку рядом с кнопкой Цвет шрифта .
Выберите цвет в группе Цвета темы или Стандартные цвета.
Совет: Чтобы применить последний выбранный цвет текста, на вкладке Главная нажмите кнопку Цвет текста.
Применение дополнительного цвета
Если вам нужен определенный цвет текста, вот как можно его получить:
На вкладке Главная щелкните стрелку рядом с кнопкой Цвет текста и выберите команду Другие цвета.
На вкладке Спектр в поле Цвета выберите нужный цвет.
Если вы знаете числовые значения составляющих нужного цвета, в поле Цветовая модель выберите модель RGB (Red, Green, Blue — красный, зеленый, синий) или HSL (Hue, Sat, Lum — тон, насыщенность, яркость), а затем введите числа, в точности соответствующие искомому цвету.
Совет: Чтобы быстро скопировать используемый цвет текста в другие ячейки, выделите исходную ячейку и дважды нажмите кнопку Формат по образцу . Затем щелкните ячейки, которые нужно отформатировать. По завершении еще раз нажмите кнопку Формат по образцу, чтобы выйти из этого режима.
Форматирование цвета ярлычка листа
Щелкните правой кнопкой мыши ярлычок листа, цвет которого вы хотите изменить.
Щелкните Цвет ярлычка, а затем выберите нужный цвет.
Изменится цвет ярлычка, но не цвет шрифта. При выборе темного цвета ярлычка цвет шрифта меняется на белый, а при выборе светлого цвета — на черный.
Помогите пожалуйста. Есть ли формула (макрос), которая зависит от цвета шрифта текста в ячейке? |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Конечно макросом можно отследить цвет ячейки. |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
|
{quote}{login=Юрий М}{date=27.01.2009 08:40}{thema=}{post}Цвет текста тоже :-){/post}{/quote} Эта-а… А можно макрос?..)) |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
А можно файл-пример с задачей? |
{quote}{login=Юрий М}{date=30.01.2009 03:49}{thema=}{post}А можно файл-пример с задачей?{/post}{/quote} Например подобие формулы: |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
|
{quote}{login=Юрий М}{date=31.01.2009 11:01}{thema=}{post}Вот макрос.{/post}{/quote} Именно так. Но нужна формула, а в примере кнопка. |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
{quote}{login=zz777}{date=30.01.2009 03:41}{thema=Re: }{post}{quote}{login=Юрий М}{date=27.01.2009 08:40}{thema=}{post}Цвет текста тоже :-){/post}{/quote} Эта-а… А можно макрос?..)){/post}{/quote} |
{quote}{login=Юрий М}{date=01.02.2009 12:24}{thema=Re: Re: }{post}{quote}{login=zz777}{date=30.01.2009 03:41}{thema=Re: }{post}{quote}{login=Юрий М}{date=27.01.2009 08:40}{thema=}{post}Цвет текста тоже :-){/post}{/quote} Эта-а… А можно макрос?..)){/post}{/quote} Юрий, тогда подскажите, как данный макрос применить в формуле = ЕСЛИ() |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
В макросе как раз и проверяется условие ЕСЛИ. Может Вам по результатам анализа цвета шрифта нужно что-то менять на листе? Тогда можно в соседнюю ячейку (скрытый столббец — если мешает) проставлять макросом какое-либо значение, которое в дальнейшем Вы сможете использовать в своихъ формулах. Я же не знаю задачи, а моя просьба глянуть файл игнорируется. Так и будет вести переписку о неизвестных ячейках с неизвестными условиями. |
ytk5kyky Пользователь Сообщений: 2410 |
Вот формулой. Но есть ограничения. Формула автоматом пересчитываться не будет, так как изменение цвета ячейки не вызывает никаких событий, в т.ч. и пересчета. |
{quote}{login=Лузер™}{date=02.02.2009 09:04}{thema=}{post}Вот формулой. Но есть ограничения. Формула автоматом пересчитываться не будет, так как изменение цвета ячейки не вызывает никаких событий, в т.ч. и пересчета. Спасибо! Очень похоже на то, что хотелось… Но вот следующие пожелания осуществимы ли: 1. Как в вашем файле происходит пересчет? Нажатие F9 ни к чему не приводит, а вот нажатие ячейки с формулой приводит к перерасчету. Так и задумывалось? 2. Автоматом пересчет при изменении цвета шрифта в принципе невозможно реализовать? 3. Можно сделать так, чтобы цвет текста показывался для ячейки, адрес которой задавался бы аргументом функции, например так: Шрифт_текст(A1)? |
|
{quote}{login=Юрий М}{date=01.02.2009 09:54}{thema=}{post}В макросе как раз и проверяется условие ЕСЛИ. Может Вам по результатам анализа цвета шрифта нужно что-то менять на листе? Тогда можно в соседнюю ячейку (скрытый столббец — если мешает) проставлять макросом какое-либо значение, которое в дальнейшем Вы сможете использовать в своихъ формулах. Я же не знаю задачи, а моя просьба глянуть файл игнорируется. Так и будет вести переписку о неизвестных ячейках с неизвестными условиями.{/post}{/quote} Прошу прощения, если что не так — я новичок на этом форуме. Всех правил не знаю..)) Вот файл. |
|
ytk5kyky Пользователь Сообщений: 2410 |
1. Ничего специально не задумывалось. Пересчет происходит также как и в любом другом файле. Он происходит после изменения данных, к которым изменение цвета шрифта не относится. F9 пересчитывает только измененные данные. CTRL+ALT+F9 пересчитывает все вне зависимости от измененных данных. |
ZVI Пользователь Сообщений: 4328 |
#16 04.02.2009 11:54:36 {quote}{login=Лузер™}{date=04.02.2009 09:13}{thema=}{post}1. Ничего специально не задумывалось. Пересчет происходит также как и в любом другом файле. Он происходит после изменения данных, к которым изменение цвета шрифта не относится. F9 пересчитывает только измененные данные. CTRL+ALT+F9 пересчитывает все вне зависимости от измененных данных. |
Вы когда-нибудь представляли, как меняют цвет шрифта на основе значения ячейки в Excel? Возьмем, к примеру, когда данные отрицательны, вы можете захотеть, чтобы цвет шрифта данных был красным, или вам нужно, чтобы данные были черными. Здесь я расскажу о некоторых удобных способах помочь вам сэкономить время на изменении цвета шрифта по значению ячейки в Excel.
Изменение цвета шрифта в зависимости от значения ячейки с помощью условного форматирования
Измените цвет шрифта на основе значения ячейки с помощью Select Specific Cells
В Excel условное форматирование может помочь при изменении цвета шрифта по ячейке.
(1) Измените цвет шрифта, если он отрицательный / положительный
Если вы хотите изменить цвет шрифта, если значения ячеек отрицательные или положительные, вы можете сделать следующее:
1. Выберите значения ячеек и щелкните Главная > Условное форматирование > Новое правило. Смотрите скриншот:
2. Затем в Новое правило форматирования диалоговое окно, выберите Форматировать только ячейки, содержащие в Выберите тип правила: раздел, и если вы хотите изменить цвет шрифта, если значение ячейки отрицательное, вы можете выбрать Значение ячейки из первого списка и выберите меньше, чем из среднего списка, а затем введите 0 в правое текстовое поле. Смотрите скриншот:
Наконечник: Если вы хотите изменить цвет шрифта положительных значений, просто выберите «Больше чем» из среднего списка.
3. Нажмите Формат идти на Формат ячеек диалоговое окно, затем под шрифт на вкладке выберите нужный цвет из Цвет список. Смотрите скриншот:
4. Нажмите OK > OK закрыть диалоги. Теперь все отрицательные значения меняют цвет шрифта на красный.
(2) Измените цвет шрифта, если больше / меньше чем
Если вы хотите изменить цвет шрифта, когда значения больше или меньше определенного значения, вы можете сделать следующее:
1. Выберите значения ячеек и щелкните Главная > Условное форматирование > Новое правило.
2. Затем в Новое правило форматирования диалоговое окно, выберите Форматировать только ячейки, содержащие в Выберите тип правила: раздел, выбрать Значение ячейки из первого списка и больше из среднего списка, а затем введите конкретное значение в правое текстовое поле. Смотрите скриншот:
Наконечник: Если вы хотите изменить цвет шрифта, когда значения ячеек меньше определенного значения, просто выберите меньше, чем из среднего списка.
3. Нажмите Формат идти на Формат ячеек диалоговое окно, затем под шрифт на вкладке выберите нужный цвет из Цвет список. Затем нажмите OK > OK закрыть диалоги. Все значения больше, чем 50 был изменен цвет шрифта на оранжевый.
(3) Измените цвет шрифта, если он содержит
Если вы хотите изменить цвет шрифта, если значения ячеек содержат определенный текст, например, изменить цвет шрифта, если значение ячейки содержит KTE, вы можете сделать следующее:
1. Выберите значения ячеек и щелкните Главная > Условное форматирование > Новое правило.
2. Затем в Новое правило форматирования диалоговое окно, выберите Форматировать только ячейки, содержащие в Выберите тип правила: раздел, выбрать Конкретный текст из первого списка и Содержащие из среднего списка, а затем введите конкретный текст в правое текстовое поле. Смотрите скриншот:
3. Нажмите Формат идти на Формат ячеек диалоговое окно, затем под шрифт на вкладке выберите нужный цвет из Цвет список. Затем нажмите OK > OK закрыть диалоги. Все ячейки, содержащие КТЭ был изменен цвет шрифта на указанный цвет.
Если вам нравится опробовать удобные надстройки, вы можете попробовать Kutools for Excel, есть утилита под названием Выбрать определенные ячейки можно быстро выбрать ячейки, отвечающие одному или двум критериям, а затем изменить их цвет шрифта.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите ячейки, с которыми хотите работать, и нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
2. в Выбрать определенные ячейки диалог, проверьте Ячейка вариант под Тип выбораИ выберите Комплект под Конкретный тип, затем введите конкретный текст в текстовое поле
3. Нажмите Ok > OK закрыть диалоги.
4. Затем были выделены все ячейки, содержащие KTE, и перейдите к Главная > Цвет шрифта чтобы выбрать нужный цвет шрифта.
Примечание:
1. С Kutools for ExcelАвтора Выбрать определенные ячейки утилита, вы также можете выбрать ячейки, соответствующие нижеприведенному критерию:
2. Также вы можете выбрать ячейки, соответствующие двум критериям. Выберите первый критерий из первого раскрывающегося списка, затем выберите второй критерий из второго раскрывающегося списка, и, если вы хотите выбрать ячейки, соответствующие двум критериям одновременно, отметьте И, вариант, если вы хотите выбрать ячейки, соответствующие одному из двух критериев, установите флажок Or опцию.
Щелкните здесь, чтобы узнать больше о выборе конкретных ячеек.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
1 |
|
Изменение цвета текста в ячейке31.07.2011, 16:48. Показов 71225. Ответов 79
Здравствуйте! Мне нужно чтобы у меня в Excel файле была автоматическая смена цвета текста в определенной ячейке при выполнении одного условия. Условие такое . Если, например, в ячейке F12 есть текст, а ячейка I12 пустая, то текст в ячейке A12 должен стать красного цвета. Как такое можно организовать? Заранее благодарен за вашу помощь.
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
31.07.2011, 18:18 |
2 |
Здравствуйте. Формула УФ:
0 |
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
31.07.2011, 19:36 [ТС] |
3 |
Благодарю!
0 |
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
04.08.2011, 17:41 [ТС] |
4 |
Стоп… А где формула в которой хоть что-то про цвет упоминается?
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
04.08.2011, 17:51 |
5 |
Где формула в которой хоть что-то про цвет упоминается? Таких формул не существует. Не работают формулы с форматированием ячеек.
0 |
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
04.08.2011, 17:51 [ТС] |
6 |
Я узнал, что такое Условное форматирование)) Ура!
0 |
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
05.08.2011, 19:59 [ТС] |
7 |
А кто-нибудь подскажет, как сделать так, чтобы ячейка заполнялось произвольным числом в диапазоне от 1 до 3000 , в том случае если ячейка, например С5 была не пустая?
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
05.08.2011, 20:34 |
8 |
Как сделать так, чтобы ячейка заполнялось произвольным числом в диапазоне от 1 до 3000 , в том случае если ячейка, например С5 была не пустая? Для всех версий: Код =ЕСЛИ(ЕПУСТО(C5);"";СЛЧИС()*3000) Для xlsx: Код =ЕСЛИ(ЕПУСТО(C5);"";СЛУЧМЕЖДУ(0;3000))
0 |
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
07.08.2011, 15:51 [ТС] |
9 |
Спасибо. Serge 007. Вы в курсе, как копировать формулы условного форматирования? Мне нужно сделать такие же формулы (только легким и простым путем, вдруг такая функция копирования какого-нибудь есть), но для ячеек которые ниже, чтобы тем самым для А4 уже было: Для А5: и т.д. Как это организовать? Спасибо .
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
07.08.2011, 18:56 |
10 |
Мне нужно сделать такие же формулы, но для ячеек которые ниже Формула останется прежней. Миниатюры
0 |
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
08.08.2011, 18:30 [ТС] |
11 |
Нет. Так я пробовал. Но это не подходит, потому что в этом случае (на правом скрине), условное форматирование будет действовать для всех этих указанных в диапазоне ячеек. Просто вопрос в том, чтобы указать краткую формулу, если это возможно.
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
08.08.2011, 20:13 |
12 |
мне нужно: заполнил B3, C3 — пустая. И A3 сменила заливку. Именно так это и работает. Что мешает попробовать что бы убедиться?
0 |
1 / 1 / 1 Регистрация: 09.01.2010 Сообщений: 110 |
|
08.08.2011, 20:18 [ТС] |
13 |
Верно. Спасибо, Вам.
0 |
0 / 0 / 0 Регистрация: 24.07.2012 Сообщений: 7 |
|
24.07.2012, 14:19 |
14 |
Serge 007, Добрый день! Нужна помощь по условному форматированию в Exel2010.
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
24.07.2012, 14:27 |
15 |
Вы читали тему в которой пишите? Все ответы на Ваши вопросы я уже дал ранее
0 |
0 / 0 / 0 Регистрация: 24.07.2012 Сообщений: 7 |
|
24.07.2012, 14:30 |
16 |
Вы читали тему в которой пишите? Все ответы на Ваши вопросы я уже дал ранее Да, читал, но у меня никак не получается это сделать. Я в Exel’е новичок, поэтому и написал сообщение, что бы вы дали ответ конкретно для моего случая. Если конечно не сложно…
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
24.07.2012, 14:54 |
17 |
у меня никак не получается это сделать Что именно не получается?
что бы вы дали ответ конкретно для моего случая Я для КОНКРЕТНО ВАШЕГО СЛУЧАЯ ответил ранее. Если не можете воспользоваться готовым решением, то как минимум от Вас должен был быть пример, в котором форумчане могли бы его выложить
0 |
0 / 0 / 0 Регистрация: 24.07.2012 Сообщений: 7 |
|
24.07.2012, 15:34 |
18 |
Что именно не получается? Я для КОНКРЕТНО ВАШЕГО СЛУЧАЯ ответил ранее. Если не можете воспользоваться готовым решением, то как минимум от Вас должен был быть пример, в котором форумчане могли бы его выложить То ли я не понимаю, то ли вы не правильно мой вопрос поняли, в предыдущих постах немного другое было, здесь у меня ячейки одна под другой, и нужно что бы каждая следующая окрашивалась в зависимости от того больше или меньше в ней значение, чем в предыдущей ячейке.
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
24.07.2012, 16:13 |
19 |
в предыдущих постах немного другое было Значит точно не читали…
1 |
0 / 0 / 0 Регистрация: 24.07.2012 Сообщений: 7 |
|
24.07.2012, 16:27 |
20 |
Спасибо огромное!!!
0 |
Финансы в Excel
Условное форматирование
- Подробности
- Создано 26 Июнь 2013
Содержание |
---|
Файл-пример |
Принцип работы условного форматирования |
Неявное условное форматирование |
Цвет шрифта |
Условие для цвета шрифта |
Формат для скрытия данных |
Простое условное форматирование |
Выделение значения |
Гистограммы |
Повторяющиеся значения |
Сложное условное форматирование |
Скрытие неактуальных данных |
Условия с применением функций рабочего листа |
Разделение диапазонов при помощи рамок |
Проверка на корректность формулы |
Форматирование ячеек Excel предназначено для представления информации в удобном наглядном виде, что повышает уровень понимания информации. Какие-то простые одноразовые вычисления можно производить в файлах, совсем не используя форматы ячеек – результат от этого не изменится. Если же предполагается показывать или передавать отчет другим пользователям, то без форматирования не обойтись.
Стандартное простое форматирование ячеек электронной таблицы Excel с использованием цвета фона, шрифта и рамок осваивается пользователями очень быстро. На этом уровне прогресс в оформлении отчетов в большинстве случаев останавливается. Зачастую даже опытные пользователи Excel, способные написать сложную формулу, вообще не используют интерфейсное средство «Условное форматирование». Между тем, оно, с нашей точки зрения, является одним из самых полезных в процессах финансового моделирования. Под финансовыми моделями здесь понимаются файлы Excel, регулярно использующиеся в работе экономистами для получения результатов через изменение входящих параметров. Это могут быть различные плановые и бюджетные модели, файлы управленческого учета, калькуляции себестоимости и пр.
Условное форматирование, также как и стандартное, не влияет на расчеты, а отвечает только за внешний вид электронных таблиц. Но в отличие от простого формата ячеек, условное форматирование позволяет установить правила отображения информации в зависимости от произведенных вычислений. Что, в свою очередь, в разы сокращает время, необходимое для оформления отчетов.
Excel последних версий предоставляет удобный интерфейс для управления условным форматированием как через простой выбор стандартного условия, так и через традиционный ввод формул. В версиях Excel до 2007 (формат рабочей книги xls) свойства условного форматирования были привязаны к каждой ячейке по отдельности. Имелось ограничение – не более 3х форматов на ячейку. В последующих версиях (формат xlsx) это ограничения было снято, к тому же теперь условные форматы хранятся с привязкой к листу независимо от свойств каждой ячейки.
Файл-пример
Файл из приложения к статье создан для демонстрации различных примеров применения условного форматирования. Данные в файле не представляют собой какого-либо практического интереса. Формулы построения отчета о движении денежных средств в данной статье рассмотрены не будут, хотя и могут кому-то пригодится в своих экономических моделях.
Принцип работы условного форматирования
Одной из рутинных операций при работе с экономическими моделями является настройка внешнего вида отчетов после изменения исходных данных. Например, выделить цветом данные за текущий период, который изменяется с течением времени, или отметить шрифтом определенного важного клиента в наборе меняющихся записей и т.п. Облегчить такую работу можно при помощи условного форматирования Excel. Оно расширяет возможности стандартного форматирования ячеек таким образом, чтобы отображение менялось автоматически без ручной настройки ячеек в зависимости от изменения внешних условий.
Использовать условное форматирование для нескольких типов задач:
- Выделение цветом или шрифтом текущей ячейки в зависимости от ее же значения.
- Окраска текущей ячейки в зависимости от значения другой ячейки.
- Разделение блоков информации при помощи рамок.
- Скрытие неактуальных данных при помощи форматов.
- Графическое отображение данных – аналог диаграмм.
Эти же задачи можно решить при помощи стандартного форматирования ячеек. Преимущество условного форматирования заключается в том, что настройку не требуется производить каждый раз при изменении результатов вычислений. Установленные один раз правила условного форматирования автоматически изменяют внешний вид электронной таблицы в зависимости от меняющейся информации.
Условное форматирование имеет более высокий приоритет перед стандартным. Так, если ячейка имеет синий цвет фона, а условное форматирование предполагает окраску красным цветом, то цвет отображения ячейки на экране при выполнении заданного условия будет именно красный. Другие непересекающиеся свойства ячейки могут быть наложены друг на друга (например, заданный шрифт не меняется), либо установлены явным образом.
На практике часто встречается ситуация, когда пользователь говорит о «глюках» форматирования: например, он устанавливает цвет шрифта, а ничего не меняется. Скорее всего, в данном случае к ячейке применено условное форматирование с заданным цветом шрифта, всегда имеющее приоритет перед стандартным форматом ячейки.
Если выполняется одновременно несколько условий, отвечающее за одно и то же свойство форматирования, то применяется первый в списке условный формат. Например, если у ячейки есть два условных формата на ее значение:
- больше 10 – желтый цвет,
- больше 20 – синий цвет
В случае любого значения больше 10, ячейка будет окрашена желтым цветом фона. Второй условный формат в данном случае игнорируется.
Чтобы условие работало корректно, надо в диалоге условного форматирования поменять строки местами (кнопки со стрелками в верхней части диалога). Тогда значения от 10 до 20 будут окрашены желтым, больше 20 – синим цветом фона. Еще лучше задавать условия явно – устанавливать промежуток значений «от – до» вместо просто «больше».
При помощи условного форматирования можно изменять только определенный набор свойств ячейки:
- Цвет фона
- Цвет шрифта, тип шрифта (но не размер или название)
- Тип внешней рамки (ограниченный набор границ)
- Числовой формат (не доступно в xls-файлах)
Изменить отступ, выравнивание, наклон текста, некоторые типы рамок и свойства защиты при помощи условного форматирования нельзя.
Неявное условное форматирование
Цвет шрифта
Кроме использования интерфейсного средства «Условное форматирование», поменять цвет шрифта числовой ячейки можно при помощи стандартного формата. Диалог «Формат ячейки» предлагает несколько предустановленных вариантов выделения красным цветом отрицательных чисел. То есть применяется условие, что отрицательные значения показывать не в соответствии с цветом шрифта, указанного явно в ячейке, а по правилу пользовательского формата.
Стандартно пользовательский формат числа представляет собой текстовое выражение, разделенное на 4 блока:
- формат для положительных чисел
- формат для отрицательных чисел
- формат для нулевого значения
- формат для текстового значения
Блоки в выражении разделяются точкой с запятой, цвет текста заключается в квадратные скобки. Кроме красного цвета, можно использовать другие варианты: Черный, Синий, Голубой, Зеленый, Фиолетовый, Красный, Белый, Желтый.
Условие для цвета шрифта
Кроме цвета шрифта в пользовательском формате числа можно даже задавать простые условия, отличающиеся от стандартной разбивки блоков на положительные, отрицательные и нулевые значения. Для этого используется дополнительный блок с условиями, заключенными в скобки.
В примере суммарные поступления от клиентов выделяются синим цветом шрифта, только если значение больше 10000руб (см. диапазон ОДДС!B7:Q11)
Использование сложных условий непосредственно в пользовательском формате числа (кроме цвета) не рекомендуется, так как эта устаревшая особенность Excel, сохраненная в целях обратной совместимости версий. Лучше использовать явное условное форматирование.
Формат для скрытия данных
Еще один часто используемый вариант использования числового формата – это скрытие данных в ячейке при помощи пользовательского формата «;;;» — т.е. для всех вариантов показывать пустоту. В примере таким образом скрыто выражение в ячейке ОДДС!C2, там хранится сложная формула для вычисления даты по номеру недели. Эта очень важная ячейка, значение которой используется в других условных форматах. Несмотря на то, что на экране ничего не отображается, значение можно использовать наравне с любой другой ячейкой.
Подробнее о вариантах пользовательского формата числа:
http://office.microsoft.com/ru-ru/excel-help/HP010342372.aspx
Простое условное форматирование
Выделение значения
Один из самых простых вариантов условного форматирования – это цветовое выделение в зависимости от значения числа. Стандартный диалог Excel (лента Главная Условное форматирование Создать правило Форматировать все ячейки на основании их значений) позволяет задать различные логические условия: равно, не равно, больше, меньше, между. Сравнивать можно как с константой (числом), так и со ссылкой на другую ячейку. В файле-примере таким образом отформатирован диапазон Платежи!A3:A22. Выделены даты позже даты начала текущей недели – ячейки ОДДС!C2.
Для установки условного форматирования перед вызовом диалога выделите заранее диапазон, на который будет распространяться условие. Это замечание актуально для всех вариантов установки условных форматов ячеек.
Гистограммы
Excel, начиная с версии 2007, предоставил возможность графического условного форматирования ячеек различными вариантами: гистограммы, цветовые шкалы, значки. Это простой, но очень эффектный интерфейс: требуется выделить область ячеек, затем просто выбрать вариант графического условного формата (например, лента Главная Условное форматирование Гистограммы).
В файле-примере таким образом отформатирован диапазон Платежи!C3:C22 – в виде гистограмм показаны значения платежей, хранящиеся в ячейках.
Повторяющиеся значения
Еще один стандартный пример использования условного форматирования – это выделение повторяющихся, либо уникальных значений в диапазоне.
Диапазон с гистограммами Платежи!C3:C22 дополнительно отформатирован по условию выделения жирным шрифтом повторяющихся значений:
Такое форматирование можно было организовать и в старых версиях Excel (xls), условие при этом задается формулой (в координатах примера):
=AND(COUNTIF($C$3:$C$22; C3)>1;NOT(ISBLANK(C3)))
Сложное условное форматирование
Разделение на «простое» и «сложное» условное форматирование здесь просто подразумевает наличие дополнительных навыков по созданию формул и понимание адресации Excel.
Скрытие неактуальных данных
Один из методов скрытия данных в ячейке через пользовательский формат числа уже описан в данной статье. Другой вариант скрытия значения с использованием формата ячейки – это просто окраска шрифта и фона ячейки в одинаковый цвет.
Этот способ применен при условном форматировании отчета на листе ОДДС примера. Даты ранее текущей недели, которая задается в ячейке B2, выделяются белым фоном, тогда как обычный фон для этих ячеек – светло-коричневый. Ячейки с данными об остатках на начало период скрываются за счет использования одинакового светло-серого цвета для шрифта и заливки.
Формула для ячеек сравнивает ячейку с текущей датой с ячейкой, содержащей дату начала недели. Обратите внимание на применение относительной и смешанной адресации (символ «$» в координатах). Дело в том, что по умолчанию интерфейс Excel предлагает ссылку на абсолютный адрес выделяемой ячейки, и многие ошибочно считают, что условное форматирование надо задавать отдельно для каждой ячейки диапазона. Это неверно, правила копирования адресов работают и при применении условных форматов. Но для этого надо вводить формулу вручную или удалять знаки «$» из координат ячеек.
С нашей точки зрения при использовании условного форматирования для диапазонов зачастую понятнее применение R1C1-адресации Excel. Так, в частности, очевидно, что выражение RC подразумевает текущую ячейку. Та же запись в A1-адресации без использования «$» требует дополнительной привязки к текущей ячейке, что иногда затрудняет понимание всего выражения.
Условия с применением функций рабочего листа
Условия для форматов могут содержать сложные многоуровневые выражения. Если результат формулы возвращает значение, отличное от нуля, то условие форматирования считается выполненным. Желательно, чтобы результат принимал логическое значение, т.е. TRUE=1 или FALSE=0. Это упрощает понимание выражения условного форматирования.
В примере для диапазона Поступления!A3:D20 установлено условное форматирование с проверкой на начало текстового значения в столбце C:
Разделение диапазонов при помощи рамок
Весьма полезной задачей условного форматирования при вводе массива информации по аналогии с записями базы данных является разделение блоков данных по датам. Проще всего разделять такие блоки прорисовкой границы перед началом данных следующего периода.
В примере для всего диапазона таблицы Поступления!A3:D20 установлено условное форматирование с проверкой на равенство ячейке сверху:
Обратите внимание, что для выбранного диапазона действуют два правила условного форматирования одновременно: первой отвечает за выделение жирным шрифтом, второе — за прорисовку рамки.
Проверка на корректность формулы
Еще одной типичной задачей условного форматирования является проверка больших диапазонов на идентичность, либо наличие формул. В частности типичной возможностью в задачах финансового моделирования является ввод значения вместо формулы, рассчитывающей значение по умолчанию. Например, по условиям отсрочки платежа контрагента рассчитывается некоторая сумма, но имеется возможность ее корректировки вручную в той же ячейке по реальным данным оплаты. При этом хочется видеть, в каком месте производилась корректировка, а в каком формула сохранена.
Для подобных задач часто предлагается использование UDF-функций (User-defined functions) на VBA (Visual Basic for Applications) с проверкой, хранится ли в ячейке какая-либо формула. Дело в том, что при помощи стандартных функций рабочего листа такую проверку сделать нельзя – формула может проверить только значение в ячейке, но не то, каким образом оно было получено.
Вот пример подобной функции в модуле VBA:
Option Explicit Function HasNoFormula(oCell As Range) HasNoFormula = Not oCell.HasFormula End Function
В условном форматировании можно использовать выражение:
Этот метод имеет существенные недостатки.
При использовании такой простой функции, условие будет выполняться только, если в ячейке нет никакой формулы; если же там записано «=1+1», то Excel будет считать условием выполненным. Можно явно задавать проверку на равенство определенной формуле в коде VBA, но это существенно усложняет разработку и отладку финансовой модели.
Главной проблемой при использовании UDF VBA является низкая производительность. При копировании такого условного формата на большой диапазон будет заметно запаздывание прорисовки этих ячеек, что не всегда приемлемо в работе.
Другим вариантом решения данной задачи является проверка на равенство формулы непосредственно в условии форматирования.
В примере для всего диапазона таблицы ОДДС!B20:P20 установлено такое условное форматирование:
Как видно из условия, наличие формулы в данном выражении не проверяется – сравнивается только результат. Если он отличен от заданного в формуле, то ячейка выделяется красным цветом (K20).
Если формула слишком сложная, то можно сохранить ее в служебном диапазоне ячеек (который затем можно скрыть), а проверку условного форматирования осуществлять, ссылаясь на этот диапазон.
Смотри также
» Фильтр по многоуровневым группам
Еще один пример, расширяющий грани возможного в Excel.Требуется создать фильтр, отбирающий записи в таблице сгруппированных по…
» Автоматизация диаграмм
При разработке финансовых моделей типичной задачей является наглядное представление плановых и фактических данных. Пожалуй,…
» Обработка больших объемов данных. Часть 2. Интерфейс
В статье систематизируются простые приемы обработки больших объемов данных при помощи стандартных методов интерфейса Excel. Информация…