2015-12-29 6 views
0

Я пытаюсь сделать условное форматирование для Даты в Excel. Клетки должны менять цвет, исходящий от даты, когда требуется дата. Если он должен быть менее чем за 30 дней, он должен быть красным. Если срок составляет менее 60 дней, он должен быть желтым. Если он должен быть менее чем за 90 дней, он должен быть зеленым.Условное форматирование дат в Excel

Если у вас есть следующая формула =DATEDIF(TODAY();E:E;"d")<30 как правило условного форматирования для начала. Странная часть заключается в том, что она работает, если у меня есть ее в ячейке. Он возвращает значение true для значений в «E», которые должны быть выполнены менее чем за 30 дней. Однако я не могу применить это правило в условном форматировании. Это не дает мне ошибку. Он просто ничего не делает ...

Можно ли это решить с условным форматированием или написать сценарий VBA?

+0

Просто используйте регулярное выражение 'If', чтобы определить его, я не понимаю, почему вам нужно' DatedIf'. – BruceWayne

+1

Вместо того, чтобы ссылаться на «E: E», выберите только одну ячейку в той же строке, чтобы применить ее, и ссылайтесь на ту же конкретную строку в этом столбце, например, «E1». До тех пор, пока вы избавитесь от любых '' '' '' '', которые Excel автоматически применит, тогда он по-прежнему будет относительной ссылкой, и вы можете расширить диапазон, в котором он применяется, в меню «Управление правилами» после того, как вы получили его для работы в одной ячейке , – CactusCake

+0

Предполагаю, что у вас есть названия в первой строке. Поэтому в E2 введите следующую условную формулу: '= TODAY() - E2 <30', затем используйте требуемое форматирование. В применяемом к полем файле поле «E: E' –

ответ

1

Ok, Excel делает некоторые дурацкие вещи, которые он считает полезным, когда вы пытаетесь применить условное форматирование к целому ряду (это, как правило, более препятствия, чем помощь).

Выполните следующие действия:

  1. Выберите первую ячейку со значением даты в нем, я предполагаю, что E2.
  2. Нажмите «Условное форматирование» -> «Новое правило».
  3. Выберите «Использовать формулу, чтобы определить, какие ячейки нужно форматировать».
  4. Вставьте в формулу =DATEDIF(TODAY(),E2,"d")<30 и выберите любые параметры форматирования, которые вы хотите. Нажмите OK.
  5. Вернитесь в условное форматирование, нажав «Управление правилами».
  6. В поле «Применяется к полю» измените его на =E2:E200 или вне зависимости от последней строки диапазона. В качестве альтернативы вы можете использовать named range, если хотите настроить что-то более динамичное.

Это правило теперь применяется ко всему диапазону.

+0

Thx это именно то, что я искал. Отличное объяснение! – Silve2611

1

enter image description here

Я использовал следующие формулы:

=DATEDIF(TODAY(),E2,"d")<30 
=DATEDIF(TODAY(),E2,"d")<60 
=DATEDIF(TODAY(),E2,"d")<90 
Смежные вопросы