1

В Excel 2007 я хочу условно покрасить строку, если она нечетная, а затем изменить цвет в зависимости от того, содержит ли конкретная ячейка (в столбце E) в этой строке число (зеленый) или пустое (красный). Например, если E15 имеет значение 2, а E13 не имеет записи, я ожидаю, что строка 15 будет зеленой, а строка 13 - красной.

Мои две формулы:
Чтобы красный цвет:
=IF((MOD(ROW(),2) = 1),NOT(ISNUMBER(INDIRECT("$E$"&ROW()))), FALSE)
Чтобы зеленый цвет:
=IF((MOD(ROW(),2) = 1),ISNUMBER(INDIRECT("E"&ROW())), FALSE)

Если я вставлю эти формулы в ячейки на рабочем листе, я получу ожидаемые значения. Для строки 15 "красное" уравнение неверно, а "зеленое" уравнение верно. Для строки 13 "красное" уравнение истинно, а "зеленое" неверно. Однако, если я использую эти формулы в функции формул условного форматирования, все мои строки будут красными, есть мысли?

1 ответ1

2

Ваша проблема INDIRECT . Это плохо сочетается с вашими условными формулами, что, кажется, является своего рода ограничением для INDIRECT .

Тем не менее, я не думаю, что вам это нужно. Если я правильно понимаю ваше требование, вы можете просто изменить зеленую условную формулу на =IF((MOD(ROW(),2) = 1),ISNUMBER($E1), FALSE) . Использование $E1 заставит формулу пересчитать для каждой строки, поэтому она превращается в:

  • =IF((MOD(ROW(),2) = 1), ISNUMBER($E1), FALSE) для E1
  • =IF((MOD(ROW(),2) = 1), ISNUMBER($E2), FALSE) для E2
  • =IF((MOD(ROW(),2) = 1), ISNUMBER($E3), FALSE) для R3
  • и т.п.

Аналогично, вы можете заменить красную формулу на =IF(MOD(ROW(),2) = 1,NOT(ISNUMBER("$E1)), FALSE)

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