Как добавить правило для ячеек в Excel?
У меня есть набор данных, извлеченный из Hyperion Essbase, в котором я хотел бы добавить правило для этих ячеек. Я пробовал условное форматирование, но не получаю то, что хочу.
Например, некоторые клетки содержат 0.000
или же 13.5232
и правило, которое я хочу над ними, IF(ROUND(ABS(Cell Value),2)<=0.01,0,Cell Value)
Я не уверен, что моя формула не имеет смысла, или я не использую условное форматирование правильно. Мне не нужно выделять какие-либо ячейки, я просто хотел бы, чтобы данные в ячейках были округлены, если они соответствуют критериям в моей формуле.
2 ответа
Исходя из вашего вопроса, кажется, что вы хотите использовать условное форматирование, чтобы изменить форматирование чисел (для чисел, абсолютное значение которых округлено до 2 десятичных разрядов <= 0,01, они должны быть отформатированы с 0 десятичными разрядами, т.е. как 0).
Это может быть достигнуто с помощью условного форматирования (VBA не требуется).
- Выберите ячейки, к которым вы хотите применить условное форматирование.
- Откройте диспетчер правил условного форматирования и создайте ,
- Выберите " Использовать формулу", чтобы определить ячейки для форматирования, введите формулу, которая определяет ячейки, которые вы хотите отформатировать (убедитесь, что вы не используете абсолютные ссылки).
- Нажмите кнопку " Формат" и выберите " Число" > 0 "Десятичные знаки" ( )
- Нажмите OK 3 раза, чтобы вернуться к электронной таблице, и вы должны увидеть значения, отформатированные по желанию:
Если вы просто хотите изменить отображаемый формат чисел, то это должно быть сделано.
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, но это не изменит базовое необработанное значение.