Excel 数字格式仅在必要时显示小数

问题描述 投票:0回答:7

如何在不使用公式的情况下将整数显示为整数,但将小数显示为特定的小数位数?

例如显示:

1
1

12
12

1.23456789
1.23

数字格式

0.##
很接近,但将
1
显示为
1.

excel decimal number-formatting
7个回答
20
投票

如果可以接受,您可以不使用工作表中的公式,而是将其作为条件格式的条件。

当您的数据位于

A1:A4
(如屏幕截图中的示例)时,我们应该创建 2 个格式规则:

  1. 公式为:
    =MOD($A1,1) = 0
    适用于:
    =$A$1:$A$4
    根据此规则的格式将数字格式化为无小数。
  2. 公式为:
    =MOD($A1,1) <> 0
    适用于
    =$A$1:$A$4
    并格式化数字以显示 2 位小数。

其实第二个条件是可选的。您可以使用 2 位小数来格式化整列,并使用第一条规则进行条件格式,这样只有整数将没有小数。

请查看我的示例截图:

enter image description here


5
投票
=IF(MOD(A1,1)=0,TEXT(A1,"0"),TEXT(A1,"0.00"))

3
投票

主题有点晚了,但我有一份报告正在计算小数点后 7 位的百分比,但该列还包含整数。

我的结论是使用条件格式,因此如果单元格包含句点/小数点“。”然后将格式更改为带有 2 位小数的数字。 这样,如果没有句点/小数点,则值将保持不变。

Click Here for Full Image


1
投票

如果您想使用该值作为文本,您可以使用它(使用 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”。


0
投票

在“主页”选项卡的“数字”组下,从下拉菜单中选择

General
(这是内置数字格式)。
然而,不幸的是,如果您的数字超过 2 位小数,则必须使用类似
=ROUND(A1,2)
的内容。

旁注:

General
也可以用作自定义数字格式代码(请注意,数字格式代码是特定于语言的,并且取决于Excel默认语言,例如在法语中,它是
Standard
)。 并且
General
可以修改,例如
General \%
在数字后添加“%”,如下所示:
5.55
显示为
5.55 %
1
显示为
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

-2
投票

使用

IF
TEXT
公式来格式化您的值。
如果您的值在 A 列中,请使用以下公式:

=IF(LEN(A1)=1,TEXT(A1,"0"),TEXT(A1,"0.00"))

这个公式基本上是说:
如果单元格值的长度为 1,则返回格式化值“0”,否则返回值“0.00”。

© www.soinside.com 2019 - 2024. All rights reserved.