![Вставка строк без перемещения условного форматирования](https://rvso.com/image/1598566/%D0%92%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%20%D0%B1%D0%B5%D0%B7%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png)
Я работаю над электронной таблицей с большим количеством условного форматирования.
Но есть одна вещь, которую я хотел бы изменить, но она не работает так, как хотелось бы.
Я хотел бы выделить отдельную строку (например, строку 9), если ячейка J9 не содержит слова «PUBLIC».
Теперь я использовал формулу, чтобы определить, к какой ячейке применить условное форматирование. Я использовал формулу =$J$9<>"PUBLIC"
Проблема в том, что иногда нам приходится вставлять строки выше, и при этом условное форматирование перемещается вниз. Например, если я вставляю строку выше, формула меняется на =$J$10<>"PUBLIC"
Как можно сохранить форматирование всегда на строке 9?
Большое вам спасибо за вашу помощь
решение1
Как говорит Акина, когда вы вставляете или удаляете строки, ссылки (абсолютные ИЛИ относительные) в формулах для условий изменяются, как если бы они были Именованными Диапазонами. Так что ячейка остается прежней. (Вот это да!) Ссылка на то, что форматирование является свойством ячейки, кажется очень проницательным способом ссылаться на это.
Однако вы можете использовать INDIRECT()
в формуле правила условного форматирования, так же, как и в формулах на листе. Поэтому вместо $J$9
, использование INDIRECT("$J$9")
и вставки и удаления больше не изменят ячейку, которую вы хотите проверить на применение или неприменение условного формата.
(ОЧЕНЬ похоже на то, что мы используем INDIRET()
в формулах на листе по ОЧЕНЬ той же причине, что и вставки и удаления.)