Как добавить правило в ячейки в Excel?

У меня есть набор данных, извлеченных из Hyperion Essbase, в который я хотел бы добавить правило для этих ячеек. Я пробовал условное форматирование, но не получаю то, что хочу.

Например, некоторые ячейки содержат 0.000 или 13.5232, и я хочу использовать для них правило IF(ROUND(ABS(Cell Value),2)<=0.01,0,Cell Value).

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


person Piper Ramirez    schedule 27.06.2018    source источник
comment
Вы хотите изменить значения или отображаемый числовой формат?   -  person    schedule 27.06.2018
comment
@PiperRamirez Я немного запутался в том, чего вы пытаетесь достичь, но на первый взгляд кажется, что вы пытаетесь использовать ROUNDDOWN(number, digits) функция   -  person Samuel Hulla    schedule 27.06.2018


Ответы (2)


Из вашего вопроса кажется, что вы хотите использовать условное форматирование, чтобы изменить способ форматирования чисел (для чисел, абсолютное значение которых, округленное до 2 десятичных знаков, составляет ‹= 0,01, они должны быть отформатированы с 0 десятичными знаками, т. Е. Показывать как 0).

Этого можно добиться с помощью условного форматирования (VBA не требуется).

  1. Выберите ячейки, к которым вы хотите применить условное форматирование.
  2. Откройте Диспетчер правил условного форматирования и создайте  новое правило .
  3. Выберите Использовать формулу, чтобы определить, какие ячейки нужно форматировать, введите формулу, определяющую ячейки, которые вы хотите отформатировать (убедитесь, что вы избегаете абсолютных ссылок). добавить правило форматирования
  4. Нажмите кнопку Формат и выберите Число> 0 десятичных знаков (  здесь )
  5. Нажмите «ОК» 3 раза, чтобы вернуться в электронную таблицу, и вы должны увидеть значения в нужном формате: < img src = "https://i.stack.imgur.com/3xJy3.png" alt = "окончательные данные">
person Zack    schedule 27.06.2018
comment
Спасибо! Думаю, это именно то, что мне нужно! - person Piper Ramirez; 27.06.2018
comment
будет ли условное форматирование по-прежнему применяться, если я обновлю данные в hyperion essbase? - person Piper Ramirez; 27.06.2018
comment
Я не знаком с Hyperiod Essbase, поэтому не могу сказать. Пока данные поступают в одну и ту же электронную таблицу (где применяется условное форматирование), у вас все должно быть хорошо. - person Zack; 27.06.2018

Если вы просто хотите изменить отображаемый числовой формат, это должно быть сделано.

Sub cfrZeroes()
    With Worksheets("sheet2").UsedRange.Cells
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, _
          Formula1:="=ROUND(ABS(" & .Cells(1).Address(0, 0) & "),2)<=0.01"
        .FormatConditions(.FormatConditions.Count).NumberFormat = "\0"
    End With
End Sub

Это изменит -0,015 на 0,015, чтобы выглядеть как 0, но не изменит исходное исходное значение.

person Community    schedule 27.06.2018
comment
Зачем прибегать к VBA, если можно просто использовать стандартное условное форматирование? - person Zack; 27.06.2018
comment
@Zack - потому что, откровенно говоря, легче продемонстрировать в vba и позволить пользователю использовать cf, управлять правилами, чтобы увидеть, что было достигнуто. - person ; 27.06.2018
comment
Все еще не понимаю, как я могу использовать условное форматирование, но если бы я использовал код VBA, мог бы я просто скопировать и вставить его, и он работал бы нормально? - person Piper Ramirez; 27.06.2018