如何在不使用公式的情况下将整数显示为整数,但将小数显示为特定的小数位数?
例如显示:
1
为 1
12
为 12
1.23456789
为 1.23
数字格式
0.##
很接近,但将1
显示为1.
等
=IF(MOD(A1,1)=0,TEXT(A1,"0"),TEXT(A1,"0.00"))
主题有点晚了,但我有一份报告正在计算小数点后 7 位的百分比,但该列还包含整数。
我的结论是使用条件格式,因此如果单元格包含句点/小数点“。”然后将格式更改为带有 2 位小数的数字。 这样,如果没有句点/小数点,则值将保持不变。
如果您想使用该值作为文本,您可以使用它(使用 A1 作为数字):
=TEXT(A1,IF(MOD(A1,1)=0,"#","#.##"))
说明:
IF(MOD(A1,1)=0
:这部分通过取模函数检查数字是否为整数。
"#","#.##"
:如果条件为 true,则使用 "#"
;如果条件为 false,则使用 "#.##"
。这些是相应的整数和小数的适当格式选项。
"#.##"
中小数点后的哈希数定义了最大精度,但它只会显示所需的数量,例如2.1 不会是“2.10”,而是“2.1”。
或者:
"#.00"
可用于始终用0填充,这将使“1.3”变成“1.30”。
在“主页”选项卡的“数字”组下,从下拉菜单中选择
General
(这是内置数字格式)。=ROUND(A1,2)
的内容。
旁注:
General
也可以用作自定义数字格式代码(请注意,数字格式代码是特定于语言的,并且取决于Excel默认语言,例如在法语中,它是Standard
)。 并且 General
可以修改,例如 General \%
在数字后添加“%”,如下所示:5.55
显示为 5.55 %
或 1
显示为 1 %
。)
也许一个用于将坐标放置到点的示例可以有所帮助。
Sub PutCoord(PtN&, Px#, Py#, S4$)
Px = Round(Px, 2): Py = Round(Py, 2)
Dim XS$: If Px = Int(Px) Then XS = Format(Px, "0") Else XS = Format(Px, "0.##")
Dim YS$: If Py = Int(Py) Then YS = Format(Py, "0") Else YS = Format(Py, "0.##")
Dim WS$: WS = "Pt " & PtN & " @ " & XS & " , " & YS
With ActiveSheet.Shapes.AddShape(msoShapeDoubleBracket, Px, Py, 90, 20)
With .TextFrame
.MarginLeft = 0
.MarginRight = 0
.MarginTop = 0
.MarginBottom = 0
.Characters.Text = WS
.AutoSize = msoAutoSizeShapeToFitText
End With
.Name = S4 & PtN
End With
End Sub
使用
IF
和 TEXT
公式来格式化您的值。=IF(LEN(A1)=1,TEXT(A1,"0"),TEXT(A1,"0.00"))
这个公式基本上是说:
如果单元格值的长度为 1,则返回格式化值“0”,否则返回值“0.00”。