Попытка сделать вставку, если формула в Excel, как показано ниже:

В моей колонке я хочу три условия:

  • Дата сегодня или старше (т.е. проект должен быть сегодня или раньше) = КРАСНЫЙ
  • Дата сегодня + до 7 дней = Янтарь
  • Дата сегодня менее 7 дней = Зеленый

Я не хочу использовать условное форматирование, поскольку правила слишком жесткие :)

что-то вроде:

=IF(TODAY(-7d),ChangeFillColor))

Я пытался, но я не уверен, как это сделать, также открыты для VBA, если это необходимо :)

2 ответа2

2

Я не думаю, что формула может напрямую изменить цвет заливки ячейки. Однако вы можете использовать формулу, которая выводит фактическое имя нужного вам цвета (эта формула предполагает, что ваша дата находится в ячейке A1):

=IF(A1<TODAY()+1,"red",IF(A1<TODAY()+8,"amber","green"))

Затем вам придется использовать условное форматирование, чтобы на самом деле закрасить ячейку на основе названия цвета. Например, установите условное форматирование, чтобы слово « red изменило цвет заливки на "Красный". Таким образом, у вас не будет сложной формулы в условном форматировании. Расчет будет происходить по формуле фактически в этой ячейке. Если вы не хотите, чтобы названия цветов были видимыми, вы можете установить условное форматирование так, чтобы оно также изменяло цвет шрифта на цвет заливки ("Невидимая версия" в примере).

Если вы пытаетесь закрасить ячейки, которые на самом деле содержат даты, логику формулы необходимо будет заключить в условное форматирование. Это показано в "Версии с одним столбцом" в примере.

Вот пример электронной таблицы: https://dl.dropbox.com/u/3488338/DueDateFormula.xlsx

Снимок экрана примера электронной таблицы

-1

Оператор IF() будет работать до сегодняшней даты:

=IF(TODAY()>=10/10/2010, "Do something")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .