-1

У меня следующая проблема. У меня есть лист, где текущий месяц должен быть выделен. Для этого я использовал формулу условного форматирования. Формула для первых трех месяцев выглядит следующим образом:

#M1
=IF(AND(TODAY()>=DATE(YEAR($B$5);MONTH($B$5);DAY($B$5));TODAY()<=DATE(YEAR($B$5);MONTH($B$5)+1;    DAY(B5)));TRUE;FALSE)

#M2
=IF(AND(TODAY()>=DATE(YEAR($B$5);MONTH($B$5)+1;DAY($B$5)+1);TODAY()<=DATE(YEAR($B$5);    MONTH($B$5)+2;DAY($B$5)));TRUE;FALSE)

#M3
=IF(AND(TODAY()>=DATE(YEAR($B$5);MONTH($B$5)+2;DAY($B$5)+1);TODAY()<=DATE(YEAR($B$5);    MONTH($B$5)+3;DAY($B$5)));TRUE;FALSE)

B5 - это ячейка, которая содержит дату начала. Чтобы записать все эти изменяющиеся формулы в ячейки, я использовал макрос.

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

Кто-нибудь знает, почему это происходит и как это исправить?

1 ответ1

1

Одна вещь, которая значительно упростит вашу формулу и упростит устранение неполадок для вас (и других), - просто отбросьте окружающее "IF". Просто используйте AND, и это, естественно, вернет True или False.

При редактировании формул в диалоговом окне условного форматирования нажмите клавишу F2, чтобы перейти в режим редактирования (такой же, как для ячейки), затем вы можете использовать клавиши со стрелками и т.д. Для перемещения по формуле без вставки дополнительных диапазонов ячеек в зависимости от того, где находится активная ячейка. Это может быть то, что вы подразумеваете под «Внезапно диапазон отличается, а что нет», но я не уверен.

В вашей нынешней формуле ваша формула выделяет не текущий (или следующий) месяц, а дни между настоящим моментом и той же датой следующего месяца. Это может быть то, что вы хотите, но это не ясно. Так что это будет выделено с 6 сентября по 5 октября, а не с 1 сентября по 30 сентября, например. Если вы хотите выделить календарные месяцы, не используйте часть DAY ваших начальных данных, просто используйте 1 (и для последнего дня месяца используйте Month+1, Day = 1, а затем возьмите -1 из полученных ДАТА)

Вы хотите выделить много ячеек, основанных на этой единственной ячейке даты начала? Или вы пытаетесь выделить строки на основе разных значений в каждой строке (в столбце 5)? Если последнее, вам нужно убрать $ из 5, чтобы у вас была относительная ссылка, но убедитесь, что вы редактируете эту условную формулу, находясь в ячейке в строке 5, в противном случае вы ссылаетесь на строку выше / ниже для каждого случая.

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