自定义格式化Excel中的数字列

时间:2016-05-25 11:51:07

标签: excel

我想在Excel中格式化十进制数字列。在该小数位数应该是最小0和最大3。

示例:

该列将包含

之类的值
  

1
  1.1
  1.12
  1.123

如果我将格式代码设为0。###它将列格式化如下

1.  
1.1 
1.12 
1.123

注意第一个值中有点(。)。如果没有小数值,我想删除它。它应该是1.

提前致谢

2 个答案:

答案 0 :(得分:0)

常规格式化程序不能很好地执行此操作,您可以将单元格格式设置为“text”并使用= TRUNC(myCells,3)然后截断并删除小数点。您需要隐藏原始值,因为公式适用于现有数据。

使用3dp格式的输入,最终得到。

12.000  | 12
12.100  | 12.1
12.110  | 12.11
12.111  | 12.111

答案 1 :(得分:0)

选择要格式化的单元格并运行此短宏:

Sub Formatt()
    Dim rng As Range, r As Range

    Set rng = Intersect(Selection, ActiveSheet.UsedRange)
    For Each r In rng
        If Right(r.Text, 1) = "." Then
            r.NumberFormat = "0"
        Else
            r.NumberFormat = "0.###"
        End If
    Next r
End Sub