15

Можно ли условно отформатировать ячейку, если ячейка содержит формулу (чтобы предупредить себя и других пользователей при обновлении ячейки)?

6 ответов6

9

Основываясь на ответе brettdj, потому что мне было трудно следить за связанной статьей:

  1. Создайте новое правило условного форматирования и выберите « Использовать формулу», чтобы определить ячейки для форматирования.
  2. Вставьте следующую формулу: =ISFORMULA(INDIRECT("rc",FALSE))
  3. Если вы хотите, чтобы правило применялось ко всему рабочему листу, $1:$1048576 в качестве диапазона, к которому нужно применить. В противном случае вы можете ввести любой диапазон.

Формула INDIRECT("rc",FALSE) возвращает ссылку на текущую ячейку. Если я когда-либо использую это в листе, я создаю Определенное имя, называемое чем-то вроде ThisCell и использую его в формуле, на случай, если когда-нибудь вернусь много лет спустя и подумаю: «Для чего, черт возьми, это?».

8

Вы можете использовать условное форматирование, чтобы сделать это, используя XLM и Range Names

У меня есть более длинная статья об использовании XLM с именами диапазонов и условным форматированием для автоматического форматирования электронных таблиц в соответствии с содержимым ячейки

  1. Определить имя диапазона IsFormula = GET.CELL(48, INDIRECT("rc", FALSE))
  2. Примените тестирование ячеек условного форматирования для формулы, т.е. = IsFormula с цветовой заливкой
4

Вы можете попробовать это:

VBA

Создайте пользовательскую функцию с помощью следующего кода:

Function IsFormula(ByVal Ref As Range) As Variant
    If Ref.Cells.Count > 1 Then
        IsFormula = CVErr(xlErrNA)
    Else
        IsFormula = Ref.HasFormula
    End If
End Function

Пример:

Чтобы проверить, имеют ли какие-либо ячейки в столбце A какие-либо формулы:

  1. Выделите столбец A
  2. Перейдите к Условному форматированию > Новое правило > Используйте формулу, чтобы определить, какие ячейки форматировать
  3. Используйте фф. формула: =IsFormula(A1)

Non-VBA

  1. Нажмите F5 или Ctrl + G
  2. Нажмите Специальный.
  3. Выберите Формулы и нажмите ОК. Это выделяет все ячейки на листе, который содержит формулы.
  4. Установите формат, который вы хотите использовать.
    Или же
    Перейдите к стилям ячеек (на вкладке «Главная») и выберите стиль, который вы хотите связать с ячейками, содержащими формулы. Чтобы изменить внешний вид, щелкните правой кнопкой мыши выбранный стиль и выберите « Изменить». Все ячейки данного стиля будут автоматически обновлены.
3

Существует очень простой способ сделать это, протестированный в Excel 2016.

Выделите свой диапазон, к которому вы хотите применить это, скажем, от A3:W20 . Зайдите в условное форматирование и выберите NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT .

Вставьте =isformula(A3) и выберите формат, который вы хотите применить.

A3 , очевидно, является ссылкой на первую ячейку в вашем диапазоне, но это форматирование применяется ко всем. В результате в пределах вашего диапазона любая ячейка, которая является формулой, имеет условный формат.

0

Новые справочные сайты рекомендуют пользовательскую функцию:

Function IsFormula(cell) as boolean 
  IsFormula = cell.HasFormula
End Function

Затем используйте эту функцию как ваше условие

И на самом деле, Excel 2013 и более поздние версии имеют IsFormula в качестве стандартной функции.

-1

Вы также можете использовать условное форматирование:

  1. Выберите диапазон ячеек, к которым вы хотите применить ваше условное форматирование
  2. В начало -> Условное форматирование -> Новое правило: используйте формулу, чтобы определить ячейку для форматирования
  3. В значениях формата, когда эта формула верна, укажите : =HasNoFormula
  4. Выберите нужный формат

Протестировано с использованием Excel 2010.

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