【问题标题】:How do you add a rule to cells in excel?如何在excel中为单元格添加规则?
【发布时间】:2018-06-27 14:13:48
【问题描述】:

我有一组从 Hyperion Essbase 中提取的数据,我想在其中为这些单元格添加规则。我尝试了条件格式,但没有得到我想要的。

例如,某些单元格包含0.00013.5232,而我想要的规则是IF(ROUND(ABS(Cell Value),2)<=0.01,0,Cell Value)

我不确定我的公式是否没有意义,或者我没有正确使用条件格式。我不需要突出显示任何单元格,如果单元格中的数据符合我的公式中的标准,我只想将它们四舍五入。

【问题讨论】:

  • 您要更改数值还是显示的数字格式?
  • @PiperRamirez 我对您要实现的目标有点困惑,但乍一看,您似乎在尝试使用 ROUNDDOWN(number, digits) 函数

标签: excel function formula hyperion essbase


【解决方案1】:

从您的问题来看,您似乎想使用条件格式来更改数字的格式(对于绝对值(四舍五入到小数点后 2 位)

这完全可以通过条件格式来实现(不需要 VBA)。

  1. 选择要应用条件格式的单元格。
  2. 打开条件格式规则管理器,并创建
  3. 选择使用公式确定要设置格式的单元格,输入确定要设置格式的单元格的公式(确保避免使用绝对引用)。
  4. 点击格式按钮并选择数字 > 0个小数位 ()
  5. 单击 OK 3 次返回电子表格,您应该会看到按需要格式化的值:

【讨论】:

  • 谢谢!我想这正是我所需要的!
  • 如果我要刷新 hyperion essbase 中的数据,条件格式是否仍然适用?
  • 我对 Hyperiod Essbase 不熟悉,所以不能说。只要数据进入同一个电子表格(应用条件格式的地方),就应该没问题。
【解决方案2】:

如果您只想更改显示的数字格式,那么应该这样做。

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,但不会改变底层的原始值。

【讨论】:

  • 如果只能使用标准条件格式,为什么还要使用 VBA?
  • @Zack - 因为,坦率地说,在 vba 中演示并让用户使用 cf,管理规则以查看完成了什么更容易。
  • 仍然对如何使用条件格式感到困惑,但是如果我要使用 VBA 代码,我可以简单地复制并粘贴它就可以了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 2018-03-24
  • 1970-01-01
  • 2021-11-16
相关资源
最近更新 更多