4

Я использую Excel 2007 на компьютере с Windows.

Я пытаюсь поместить одну ячейку данных и один значок данных в ячейку под условным форматированием. Проблема в том, что я не хочу, чтобы значки данных или панели данных были для ячеек с датами в будущем, и мне нужны только значки данных для дат, по крайней мере, в прошлом месяце.

Вот что у меня есть:

Excel 2007 Databar проблема

Это то, что я хочу:

Что я хочу

Я использую функцию EOMONTH чтобы определить последний день месяца для расчетов условного форматирования. Для панели данных формула =EOMONTH(Now(), 4) и =EOMONTH(Now(), -1) . Формулы значков данных: =EOMONTH(Now(), -1) и =EOMONTH(Now(), -2) .

Есть ли способ в Excel 2007, чтобы избавиться от значков данных для всех дат в будущем и потерять полосы данных, когда дата прошла?

2 ответа2

3

Что ж, после многих часов поиска в Интернете я смог найти блог Office Excel, в котором был мой ответ. http://blogs.office.com/b/microsoft-excel/archive/2006/02/24/conditional-formatting-trick-1-multi-coloured-data-bars.aspx

Идея состоит в том, чтобы предоставить формулу для каждого условного формата, чтобы указать, какие ячейки форматировать, а какие - не форматировать. Для этой встроенной функции нет интерфейса, чтобы превзойти ее, поэтому нам нужно обратиться к VBA для применения формул.

selection.FormatConditions(1).formula = "enter formula here"  
    -- Quotes are mandatory and the Conditional Formats start with "1"
       at the top of the list   
    -- If you make a mistake selection.FormatConditions(1).formula = "=TRUE"

Добавление формул в условные форматы Excel

Я не был уверен, сохранится ли этот формат от одного сеанса к другому. Я решил открыть файл Excel и взглянуть на его XML-содержимое. В папке с таблицами (после добавления в файл расширения .zip) нажмите на электронную таблицу "Лист1", и внизу находится информация об условных форматах. XML слева взят до того, как я применил формулу условных форматов, а справа XML после.

2

@Excellll ударил его по голове некоторое время назад. Я провел некоторое время, пробуя разные вещи, но ответ состоит в том, чтобы добавить условие в середине, которое заставляет ячейку заполняться белым, если оно меньше EOMONTH(Now(), -1) . Поместите его во 2-е положение, как показано с остановкой, если установлен флажок True. Наконец, замените зеленую галочку на «Нет иконки».

РЕДАКТИРОВАТЬ: для Excel 2007

В XL 2007 я могу думать только о вспомогательной колонке. Я вставил столбец А с этой формулой:

=IF(B3<EOMONTH(NOW(),-1),"X",IF(B3<EOMONTH(NOW(),0),"!",""))

Затем условно отформатированный столбец A для красного шрифта, если ячейка равна "X", и оранжевого, если он равен "!».

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

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