Условное форматирование Excel 2007 правильно не использует пользовательскую обеспеченную формулу

В 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
задан 28.04.2010, 16:30

1 ответ

Ваша проблема 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)

2
ответ дан 12.12.2019, 13:19

Теги

Похожие вопросы