Сначала ваш вопрос сбивает с толку. Вы можете «применить правило условного форматирования ко всем строкам, кроме первой строки», применяя его не к $A:$F
, а к $A$2:$F$1048576
.
Но я подозреваю, что вы хотите применить его ко всем строкам в столбцах $A:$F
, но затем он должен исключать строку 1 во время тестирования.
Если так, то ваша проблема - неустойчивое поведение INDIRECT
. Но INDIRECT
здесь не нужен. Ваше первое условие можно записать в виде:
=($A1>1)
Это потому, что даже условное форматирование будет уважать разницу между фиксированными и переменными ссылками на ячейки с помощью $
или опуская $
. Таким образом, эта формула, примененная к $A:$F
, проверит, $A1>1
в первом ряду, $A2>1
во втором ряду, $A3>1
в третьем ряду и так далее. Это связано с тем, что столбец $A
фиксирован с использованием $
и поэтому является абсолютной ссылкой на столбец A
, но номер строки 1
не является фиксированным и поэтому является относительной ссылкой на фактическую строку ..
Применительно к $A:$F
это будет иметь такое же поведение, как ваша INDIRECT
формула, которая: Есть Формат текущей строки, если значение первой ячейки в этой строке больше, чем 1:
Затем, чтобы исключить первую строку можно с помощью:
=AND($A1>1,ROW()>1)
Одним из недостатков при использовании относительных ссылок на ячейки в условном форматировании является то, что они должны быть изменены, если диапазон, на котором она применяется изменения. Например, в этом случае, если кто-то вставляет строку выше строки 1.
Но даже тогда INDIRECT
не требуется. Тогда мы можем использовать INDEX
- MATCH
:
=(INDEX($A:$A,ROW())>1)
и
=AND(INDEX($A:$A,ROW())>1,ROW()>1)
я писал в вопрос, что моя первая формула ('= INDIRECT ("A" & СТРОКА())> 1 ') работает очень хорошо без каких-либо проблем он работает с базовым значением '$ A1', значением $ A2', значением $ A3' и ... Но ваше предложение (' $ A1> 1') имеет совершенно другой результат, и это не моя проблема! Моя проблема заключается в добавлении условия к формуле, кроме первой строки. Я использовал свою окончательную формулу ('= AND (INDIRECT (« A »& ROW())> 1; ROW()> 1)') в ячейке, и она тоже работает! Но доза не работает в формуле условия в условном правиле форматирования. – RAM
Формула '= ($ A1> 1)' будет иметь абсолютный тождественный результат, такой как '= INDIRECT (« A »и ROW())> 1', если оно применяется как условное форматирование на' $ A: $ F'. Какой другой результат он должен иметь? Как упоминалось в моем ответе, проблема, использующая 'INDIRECT', связана с ее изменчивым поведением. –
Ваше правило '= $ A1> 1' означает: форматировать текущую строку, если значение' $ A1' (** первая ячейка в первой строке **) больше, чем '1'. Но '= INDIRECT (« A »& ROW())> 1' означает: Do Format current row, если значение ** первой ячейки в текущей строке ** больше, чем' 1'. Так, например, если я использую значение '= $ A1> 1' и' $ A1', равное '2', тогда все строки будут форматами с этим правилом! и это полностью отличается от моей цели. – RAM