Как сделать в Excel чтобы ячейка меняла свой цвет в зависимости от даты. (внутри)
Например. Есть ячейка в которой написана дата 01.05.2009. Необходимо чтобы до 01.04.2009 ячейка была зеленой, потом с 01.04.2009 по 01.05.2009 стала желтой, а после 01.05.2009 стала красной.
Лучший ответ
Например, с помощью условного форматирования.
А вообще — подробнее, каким образом должна быть устроена зависимость. Если зависимость сложная, то только макрос на visual basic.
Для Вашего случая:
Правый клик по столбцу с датами — Меню Формат — Условное форматирование — тип: «Значение», условие: «Меньше», данные: «01.04.09» — Формат.. . -задаете цвет (зеленый) — «А также. » — тип: «Значение», условие: «Между», данные: «01.04.09» и «01.05.09» — Формат.. . -задаете цвет (желтый) — «А также. » — «Значение» — «Больше» — «01.05.09» — Формат.. . -цвет (красный) .
— это если записаны статичные даты.
Если нужно, чтобы в зависимости от текущей даты ячейки меняли цвет, то:
Правый клик по столбцу с датами (для определенности, пусть это столбец A) — Меню Формат — Условное форматирование — тип: «Формула», формула: «=A1>сегодня ()» — Формат.. . -цвет (красный) — «А также. » — «Формула», «=(сегодня ()-A1)>30» — Формат.. . -цвет (желтый) — «А также. » — «Формула», «=(сегодня ()-A1>=30» — Формат.. . -цвет (зеленый)
Здесь сравнение описано не с 01.05.09, а с текущей датой, а месяц равен 30 дням.
Подсветка дат и сроков
Выделите диапазон с датами на листе и выберите на вкладке Главная – Условное форматирование – Правила выделения ячеек – Дата ( Home – Conditional Formatting – Highlight Cell Rules – Date Occuring) . В открывшемся окне выберите из выпадающего списка нужный вариант подсветки:
Сложный, но красивый способ
Теперь давайте разберем задачку посложнее и поинтереснее. Предположим, что у нас есть большая таблица поставок каких-либо товаров:
Обратите внимание на дату отгрузки. Если она в прошлом, то товар уже поставлен – можно не волноваться. Если она в будущем – значит мы должны держать вопрос на контроле и не забыть организовать поставку к указанному сроку. И, наконец, если дата отгрузки совпадает с сегодняшней, то надо бросать все дела и заниматься именно этой партией в данный момент (наивысший приоритет). Для наглядности, можно настроить три правила условного форматирования, чтобы автоматически заливать всю строку с данными по партии в разные цвета в зависимости от даты отгрузки. Для этого выделим всю таблицу (без шапки) и выберем на вкладке Главная – Условное форматирование – Создать правило (Home – Conditional Formatting – Create Rule) . В открывшемся окне зададим последний тип правила Использовать формулу для определения форматируемых ячеек (Use formula to determine which cell to format) и введем в поле следующую формулу:
Эта формула берет последовательно содержимое ячеек E5, E6, E7… из столбца с датой отгрузки и сравнивает эту дату с сегодняшней датой из ячейки C2. Если дата отгрузки раньше, чем сегодняшняя, то отгрузка уже была. Обратите внимание на знаки доллара, используемые для закрепления ссылок. Ссылка на $C$2 должна быть абсолютной – с двумя знаками доллара. Ссылка на первую ячейку столбца с датой отгрузки должна быть с закреплением только столбца, но не строки, т.е. $E5. После ввода формулы можно задать цвет заливки и шрифта, нажав на кнопку Формат (Format) и применить потом наше правило, нажав на кнопку ОК. Затем повторить всю процедуру для проверки будущих поставок и поставок на текущий день. Для отгруженных партий можно, например, выбрать серый цвет, для будущих заказов – зеленый и для сегодняшних – срочный красный:
Вместо текущей даты можно вставить в ячейку С2 функцию СЕГОДНЯ (TODAY) , которая будет обновлять дату каждый раз при открытии файла, что будет приводить к автоматическому обновлению цветов в таблице. Если подобная подсветка нужна не всегда, а только на определенное время работы с таблицей, то можно добавить к уже сделанному еще и, своего рода, выключатель. Для этого откройте вкладку Разработчик (Developer) . Если ее не видно, то сначала включите ее через Файл – Параметры – Настроить ленту и нажмите кнопку Вставить (Insert) :
В открывшемся списке инструментов выберите Флажок (Checkbox) из верхнего набора Элементы управления формы и щелкните по тому месту листа, где хотите его разместить. Затем можно задать размеры надписи и поменять ее текст (правой кнопкой мыши – Изменить текст):
Теперь, чтобы использовать флажок для включения-выключения подсветки, нужно связать его с любой ячейкой на листе. Щелкните правой кнопкой мыши по нарисованному флажку и выберите в контекстном меню команду Формат объекта (Format Object) и затем в открывшемся окне задайте любую подходящую ячейку в поле Связь с ячейкой (Cell Link) :
Проверьте как все работает. В связанную ячейку Е2 должно выводиться значение ИСТИНА, когда флажок включен или ЛОЖЬ, когда он выключен. Теперь осталось добавить одно правило в условное форматирование, чтобы наш флажок включал-выключал подсветку дат. Выделите всю нашу таблицу (кроме шапки) и откройте на вкладке Главная — Условное форматирование — Управление правилами (Home — Conditional Formatting — Manage Rules) . В открывшемся окне должны быть хорошо видны созданные нами ранее правила для подсветки прошлых, будущих и настоящих дат разными цветами:
Жмем кнопку Создать правило (New Rule) , выбираем последний тип правила Использовать формулу для определения форматируемых ячеек (Use formula to determine which cell to format) и вводим в поле следующую формулу:
Формат не задаем и нажимаем ОК. Созданное правило должно добавится к общему списку. Теперь необходимо поднять его на первую строчку стрелками (если оно не еще не там) и включить напротив него справа флажок Остановить если истина (Stop If True) :
Параметр с малопонятным названием Остановить, если истина делает простую вещь: если правило, напротив которого он стоит, выполняется (т.е. наш флаг Подсветка сроков на листе выключен), то Microsoft Excel останавливает дальнейшую обработку правил, т.е. не переходит к следующим правилам в списке условного форматирования и не заливает таблицу. Что и требуется.
Ссылки по теме
- Условное форматирование в Excel 2007-2013 (видео)
- Полосатая заливка строк таблицы «зеброй»
- Как Excel на самом деле работает с датами и временем

26.03.2014 02:15:17
Браво автору!
Николай, подскажите пожалуйста. На примере заливки «будущих отгрузок» — те, что зеленым цветом,
Как можно задействовать «денежные суммы», именно в выделеных строках, к примеру суммировать выделенные «затраты» или суммировать «общую массу» в отдельной ячейке?
Как в Excel изменять цвет строки в зависимости от значения в ячейке
Узнайте, как на листах Excel быстро изменять цвет целой строки в зависимости от значения одной ячейки. Посмотрите приёмы и примеры формул для числовых и текстовых значений.
В одной из предыдущих статей мы обсуждали, как изменять цвет ячейки в зависимости от её значения. На этот раз мы расскажем о том, как в Excel 2010 и 2013 выделять цветом строку целиком в зависимости от значения одной ячейки, а также раскроем несколько хитростей и покажем примеры формул для работы с числовыми и текстовыми значениями.
- Изменяем цвет строки на основании числового значения одной из ячеек
- Создаём несколько правил форматирования и для каждого определяем приоритет
- Изменяем цвет строки на основании текстового значения одной из ячеек
- Изменяем цвет ячейки на основании значения другой ячейки
- Изменяем цвет строки по нескольким условиям
Как изменить цвет строки на основании числового значения одной из ячеек
Предположим, у нас есть вот такая таблица заказов компании:

Мы хотим раскрасить различными цветами строки в зависимости от заказанного количества товара (значение в столбце Qty.), чтобы выделить самые важные заказы. Справиться с этой задачей нам поможет инструмент Excel – «Условное форматирование».
- Первым делом, выделим все ячейки, цвет заливки которых мы хотим изменить.
- Чтобы создать новое правило форматирования, нажимаем Главная >Условное форматирование >Создать правило (Home > Conditional Formatting > New rule).

- В появившемся диалоговом окне Создание правила форматирования (New Formatting Rule) выбираем вариант Использовать формулу для определения форматируемых ячеек (Use a formula to determine which cells to format), и ниже, в поле Форматировать значения, для которых следующая формула является истинной (Format values where this formula is true), вводим такое выражение: =$C2>4
Вместо C2 Вы можете ввести ссылку на другую ячейку Вашей таблицы, значение которой нужно использовать для проверки условия, а вместо 4 можете указать любое нужное число. Разумеется, в зависимости от поставленной задачи, Вы можете использовать операторы сравнения меньше ( <) или равно (=), то есть записать формулы в таком виде: =$C2<4
=$C2=4 Обратите внимание на знак доллара $ перед адресом ячейки – он нужен для того, чтобы при копировании формулы в остальные ячейки строки сохранить букву столбца неизменной. Собственно, в этом кроется секрет фокуса, именно поэтому форматирование целой строки изменяется в зависимости от значения одной заданной ячейки. - Нажимаем кнопку Формат (Format) и переходим на вкладку Заливка (Fill), чтобы выбрать цвет фона ячеек. Если стандартных цветов недостаточно, нажмите кнопку Другие цвета (More Colors), выберите подходящий и дважды нажмите ОК.
Таким же образом на остальных вкладках диалогового окна Формат ячеек (Format Cells) настраиваются другие параметры форматирования, такие как цвет шрифта или границы ячеек. - В поле Образец (Preview) показан результат выполнения созданного правила условного форматирования:

- Если всё получилось так, как было задумано, и выбранный цвет устраивает, то жмём ОК, чтобы увидеть созданное правило в действии.Теперь, если значение в столбце Qty. больше 4, то соответствующая строка таблицы целиком станет голубой.

Как видите, изменять в Excel цвет целой строки на основании числового значения одной из ячеек – это совсем не сложно. Далее мы рассмотрим ещё несколько примеров формул и парочку хитростей для решения более сложных задач.
Как создать несколько правил условного форматирования с заданным приоритетом
В таблице из предыдущего примера, вероятно, было бы удобнее использовать разные цвета заливки, чтобы выделить строки, содержащие в столбце Qty. различные значения. К примеру, создать ещё одно правило условного форматирования для строк, содержащих значение 10 или больше, и выделить их розовым цветом. Для этого нам понадобится формула:
Для того, чтобы оба созданных нами правила работали одновременно, нужно расставить их в нужном приоритете.
- На вкладке Главная (Home) в разделе Стили (Styles) нажмите Условное форматирование (Conditional Formatting) >Управление правилами (Manage Rules)
- В выпадающем списке Показать правила форматирования для (Show formatting rules for) выберите Этот лист (This worksheet). Если нужно изменить параметры только для правил на выделенном фрагменте, выберите вариант Текущий фрагмент (Current Selection).
- Выберите правило форматирования, которое должно быть применено первым, и при помощи стрелок переместите его вверх списка. Должно получиться вот так:
Нажмите ОК, и строки в указанном фрагменте тут же изменят цвет, в соответствии с формулами в обоих правилах. 
Как изменить цвет строки на основании текстового значения одной из ячеек
Чтобы упростить контроль выполнения заказа, мы можем выделить в нашей таблице различными цветами строки заказов с разным статусом доставки, информация о котором содержится в столбце Delivery:
- Если срок доставки заказа находится в будущем (значение Due in X Days), то заливка таких ячеек должна быть оранжевой;
- Если заказ доставлен (значение Delivered), то заливка таких ячеек должна быть зелёной;
- Если срок доставки заказа находится в прошлом (значение Past Due), то заливка таких ячеек должна быть красной.
И, конечно же, цвет заливки ячеек должен изменяться, если изменяется статус заказа.
С формулой для значений Delivered и Past Due всё понятно, она будет аналогичной формуле из нашего первого примера:
=$E2=»Delivered»
=$E2=»Past Due»
Сложнее звучит задача для заказов, которые должны быть доставлены через Х дней (значение Due in X Days). Мы видим, что срок доставки для различных заказов составляет 1, 3, 5 или более дней, а это значит, что приведённая выше формула здесь не применима, так как она нацелена на точное значение.
В данном случае удобно использовать функцию ПОИСК (SEARCH) и для нахождения частичного совпадения записать вот такую формулу:
=ПОИСК(«Due in»;$E2)>0
=SEARCH(«Due in»,$E2)>0
В данной формуле E2 – это адрес ячейки, на основании значения которой мы применим правило условного форматирования; знак доллара $ нужен для того, чтобы применить формулу к целой строке; условие «>0» означает, что правило форматирования будет применено, если заданный текст (в нашем случае это «Due in») будет найден.
Подсказка: Если в формуле используется условие «>0«, то строка будет выделена цветом в каждом случае, когда в ключевой ячейке будет найден заданный текст, вне зависимости от того, где именно в ячейке он находится. В примере таблицы на рисунке ниже столбец Delivery (столбец F) может содержать текст «Urgent, Due in 6 Hours» (что в переводе означает – Срочно, доставить в течение 6 часов), и эта строка также будет окрашена.
Для того, чтобы выделить цветом те строки, в которых содержимое ключевой ячейки начинается с заданного текста или символов, формулу нужно записать в таком виде:
=ПОИСК(«Due in»;$E2)=1
=SEARCH(«Due in»,$E2)=1
Нужно быть очень внимательным при использовании такой формулы и проверить, нет ли в ячейках ключевого столбца данных, начинающихся с пробела. Иначе можно долго ломать голову, пытаясь понять, почему же формула не работает.
Итак, выполнив те же шаги, что и в первом примере, мы создали три правила форматирования, и наша таблица стала выглядеть вот так:

Как изменить цвет ячейки на основании значения другой ячейки
На самом деле, это частный случай задачи об изменении цвета строки. Вместо целой таблицы выделяем столбец или диапазон, в котором нужно изменить цвет ячеек, и используем формулы, описанные выше.
Например, мы можем настроить три наших правила таким образом, чтобы выделять цветом только ячейки, содержащие номер заказа (столбец Order number) на основании значения другой ячейки этой строки (используем значения из столбца Delivery).

Как задать несколько условий для изменения цвета строки
Если нужно выделить строки одним и тем же цветом при появлении одного из нескольких различных значений, то вместо создания нескольких правил форматирования можно использовать функции И (AND), ИЛИ (OR) и объединить таким образом нескольких условий в одном правиле.
Например, мы можем отметить заказы, ожидаемые в течение 1 и 3 дней, розовым цветом, а те, которые будут выполнены в течение 5 и 7 дней, жёлтым цветом. Формулы будут выглядеть так:
=ИЛИ($F2=»Due in 1 Days»;$F2=»Due in 3 Days»)
=OR($F2=»Due in 1 Days»,$F2=»Due in 3 Days»)
=ИЛИ($F2=»Due in 5 Days»;$F2=»Due in 7 Days»)
=OR($F2=»Due in 5 Days»,$F2=»Due in 7 Days»)

Для того, чтобы выделить заказы с количеством товара не менее 5, но не более 10 (значение в столбце Qty.), запишем формулу с функцией И (AND):

Конечно же, в своих формулах Вы можете использовать не обязательно два, а столько условий, сколько требуется. Например:
=ИЛИ($F2=»Due in 1 Days»;$F2=»Due in 3 Days»;$F2=»Due in 5 Days»)
=OR($F2=»Due in 1 Days»,$F2=»Due in 3 Days»,$F2=»Due in 5 Days»)
Подсказка: Теперь, когда Вы научились раскрашивать ячейки в разные цвета, в зависимости от содержащихся в них значений, возможно, Вы захотите узнать, сколько ячеек выделено определённым цветом, и посчитать сумму значений в этих ячейках. Хочу порадовать Вас, это действие тоже можно сделать автоматически, и решение этой задачи мы покажем в статье, посвящённой вопросу Как в Excel посчитать количество, сумму и настроить фильтр для ячеек определённого цвета.
Мы показали лишь несколько из возможных способов сделать таблицу похожей на полосатую зебру, окраска которой зависит от значений в ячейках и умеет меняться вместе с изменением этих значений. Если Вы ищите для своих данных что-то другое, дайте нам знать, и вместе мы обязательно что-нибудь придумаем.
Как в экселе сделать чтобы ячейка меняла цвет в зависимости от даты
Помогите пожалуйста, как реализовать изменение заливки ячейки, нужно в три разных цвета в зависимости от даты в ячейке, например, за месяц до даты становилась жёлтой, при совпадении красной, а если до даты от 12 до 2 месяцев – зелёной., заранее огромное спасибо.
Пользователь
Сообщений: 508 Регистрация: 01.01.1970
08.02.2008 10:57:08
условное форматирование сделайте. там как раз 3 условия (в 2003 офисе)
08.02.2008 13:18:39
Даже четыре (четвертое — исходное) 🙂
08.02.2008 14:53:39
извиняюсь, я новичёк, как конкретно формулы или значения писать, на первый взгляд понятно, на деле неполучается
08.02.2008 15:12:58
Всё получилось, спасибо сообразил
Пользователь
Сообщений: 3739 Регистрация: 21.12.2012
08.02.2008 15:33:50
Посмотрите в файле.
Посмотрите там где ячейки меняют цвет -> через меню формат -> условное форматирование.
Прикрепленные файлы
- post_8951.xls (17 КБ)
Пользователь
Сообщений: 3739 Регистрация: 21.12.2012
08.02.2008 15:33:50
Посмотрите в файле.
Посмотрите там где ячейки меняют цвет -> через меню формат -> условное форматирование.
Прикрепленные файлы
- post_8951.xls (17 КБ)
Страницы: 1
Читают тему
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
