Можно ли условно отформатировать ячейку, если ячейка содержит формулу (чтобы предупредить себя и других пользователей при обновлении ячейки)?
18
Можно ли условно отформатировать ячейку, если ячейка содержит формулу (чтобы предупредить себя и других пользователей при обновлении ячейки)?
Ответы:
Вы можете использовать условное форматирование, чтобы сделать это, используя XLM и Range Names
У меня есть более длинная статья об использовании XLM с именами диапазонов и условным форматированием для автоматического форматирования электронных таблиц в соответствии с содержимым ячейки
источник
xlm
без каких-либо предупреждений макросов, MSFT изменил подход безопасности.Основываясь на ответе brettdj, потому что мне было трудно следить за связанной статьей:
=ISFORMULA(INDIRECT("rc",FALSE))
$1:$1048576
в качестве диапазона, к которому нужно применить. В противном случае вы можете ввести любой диапазон.Формула
INDIRECT("rc",FALSE)
возвращает ссылку на текущую ячейку. Если я когда-либо использую это в листе, я создаю Определенное имя, называемое чем-то вроде,ThisCell
и использую это в формуле, на тот случай, если я когда-нибудь вернусь много лет спустя и подумаю «для чего, черт возьми, это?».источник
INDIRECT("rc",FALSE)
используйте относительную ссылку с верхней левой ячейкой в вашем условном формате «Применяется к» диапазону. Например, если ваш диапазон «Применяется к»=$A$3:$F$300
, используйте=ISFORMULA(A3)
. Это работает, потому что условное форматирование поддерживает относительные ссылки, см. ЭтоВы можете попробовать это:
VBA
Создайте пользовательскую функцию с помощью следующего кода:
Пример:
Чтобы проверить, имеют ли какие-либо ячейки в столбце A какие-либо формулы:
=IsFormula(A1)
Non-VBA
Или
перейдите к стилям ячеек (на вкладке «Главная») и выберите стиль, который вы хотите связать с ячейками, содержащими формулы. Чтобы изменить внешний вид, щелкните правой кнопкой мыши выбранный стиль и выберите « Изменить» . Все ячейки данного стиля будут автоматически обновлены.
источник
Существует очень простой способ сделать это, протестированный в Excel 2016.
Выделите свой диапазон, к которому вы хотите применить это, скажем, от
A3:W20
. Зайдите в условное форматирование и выберитеNEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT
.Вставьте
=isformula(A3)
и выберите формат, который вы хотите применить.A3
Очевидно, это ссылка на первую ячейку в вашем диапазоне, но это форматирование применяется ко всем. В результате в пределах вашего диапазона любая ячейка, которая является формулой, имеет условный формат.источник
Новые справочные сайты рекомендуют пользовательскую функцию:
Затем используйте эту функцию как ваше условие
А на самом деле Excel 2013 и более поздние версии имеют
IsFormula
в качестве стандартной функции.источник
Вы также можете использовать условное форматирование:
=HasNoFormula
Протестировано с использованием Excel 2010.
источник