是否可以有条件地格式化 Excel 中数字的第三位小数?
Is it possible to conditionally format the third decimal of a number in Excel?
我有一系列返回小数点后三位值的公式。由于这些是美元金额,我确实希望看到最后一位小数,我希望有一种方法可以格式化第三位小数,以便其余的值看起来更像美元数字。例如,而不是看到这个:
1.675
我想看这个
1.675
或者更好的是,将最后一位数字(在本例中为“5”)显示为未加粗的中黄色,以便“1.67”成为焦点,而“5”成为一些附加信息。
我一直在研究数字格式和条件格式,到目前为止我认为这是不可能的。但我希望有人能证明我的断言是错误的并告诉我方法。
我知道 Excel 中没有数字格式或 VBA 技巧,这将允许十进制数中的单个数字有不同的 font/color/weight。
您可以创建一个 VBA 例程,该例程可以创建文本字符串并使用特定字体或颜色属性格式化部分文本,但结果将是文本而不是适合在公式。
不要射信使。
您提到研究数字格式,这可能是最无缝的选择。您可以尝试使用自定义数字格式,例如“0.00(0)”或“0.00 0”,它们会将值显示为“1.23(4)”和“1.23 4”。我不认为你可以使用这种方法设置字符特定的颜色。
正如 Teylyn 指出的那样,您可以使用 VBA 执行此操作,但您必须将单元格 NumberFormat 设置为文本,这很烦人。我要做的是让宏自动切换并将其添加到快速访问工具栏,这样您就可以轻松地打开和关闭它。下面是一个切换单元格 A1 格式的示例。
Sub ToggleSpecialFormat()
If Range("A1").NumberFormat = "@" Then
Range("A1").NumberFormat = "General"
Range("A1").Formula = Range("A1").Formula
Else
Range("A1").NumberFormat = "@"
Range("A1").Formula = Range("A1").Formula
Range("A1").Characters(5, 1).Font.Color = vbRed
End If
End Sub
我有一系列返回小数点后三位值的公式。由于这些是美元金额,我确实希望看到最后一位小数,我希望有一种方法可以格式化第三位小数,以便其余的值看起来更像美元数字。例如,而不是看到这个:
1.675
我想看这个
1.675
或者更好的是,将最后一位数字(在本例中为“5”)显示为未加粗的中黄色,以便“1.67”成为焦点,而“5”成为一些附加信息。
我一直在研究数字格式和条件格式,到目前为止我认为这是不可能的。但我希望有人能证明我的断言是错误的并告诉我方法。
我知道 Excel 中没有数字格式或 VBA 技巧,这将允许十进制数中的单个数字有不同的 font/color/weight。
您可以创建一个 VBA 例程,该例程可以创建文本字符串并使用特定字体或颜色属性格式化部分文本,但结果将是文本而不是适合在公式。
不要射信使。
您提到研究数字格式,这可能是最无缝的选择。您可以尝试使用自定义数字格式,例如“0.00(0)”或“0.00 0”,它们会将值显示为“1.23(4)”和“1.23 4”。我不认为你可以使用这种方法设置字符特定的颜色。
正如 Teylyn 指出的那样,您可以使用 VBA 执行此操作,但您必须将单元格 NumberFormat 设置为文本,这很烦人。我要做的是让宏自动切换并将其添加到快速访问工具栏,这样您就可以轻松地打开和关闭它。下面是一个切换单元格 A1 格式的示例。
Sub ToggleSpecialFormat()
If Range("A1").NumberFormat = "@" Then
Range("A1").NumberFormat = "General"
Range("A1").Formula = Range("A1").Formula
Else
Range("A1").NumberFormat = "@"
Range("A1").Formula = Range("A1").Formula
Range("A1").Characters(5, 1).Font.Color = vbRed
End If
End Sub