Ray*_*Ray 97 worksheet-function microsoft-excel
我在 Excel 的单元格中有数字。我希望数字格式化,以便如果它们有小数位,则最多显示两位,如果没有小数位,则不显示任何小数位。
例如。
我想出的最接近的自定义格式代码是0.##. 不幸的是,这个格式15.00为15。(注意额外的小数点)。
使问题进一步复杂化的是,电子表格是从 SQL Server Reporting Services 导出的结果。所以没有宏是可能的。哦,好吧,这看起来0.##是我最好的选择,他们可以忍受额外的时间。
小智 38
或者,您可以使用以下解决方案解决“可选”小数点问题:
数字格式: General;[Red](General)
这将相应地添加小数位和小数值,同时以更清晰的方式格式化负数。
至于海报的原始问题,您仍然需要使用公式舍入/截断“额外”的小数点。然而,这是一个简单的公式,=ROUND(<value>,<desired decimal places>)计算量并不大。
例子:
2500 -> 2500
0.25 -> 0.25
-2500 -> (2500)
-0.25 -> (0.25)
Run Code Online (Sandbox Code Playgroud)
Rob*_*rns 22
Excel 自定义格式可以提供部分答案
Excel 中数字的自定义格式以这种格式输入:
一种接近您的要求但没有小数的数字保留在小数位的一种格式是:
#,###.??;(#,###.??);0
Run Code Online (Sandbox Code Playgroud)
例子:
小智 19
对非十进制数字应用条件格式。
例如,A1 是目标单元格。
为非十进制数字定义条件格式。
###,###结果如下:
12 => 12
14.231 => 14.23
15.00000 => 15
17.3 => 17.30
Run Code Online (Sandbox Code Playgroud)
小智 16
我的答案删除了小数点并删除了 0 值
在条件格式中写入:
General;#;;@
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题。
小智 6
这是使用条件格式的一种方法。
添加新规则,基于公式“=MOD(H32,1)=0”
编辑- 更好的公式是“=MOD(ROUND(H32,2),1)=0”,其中“2”是所需的小数位数。如果数字四舍五入为整数,则前面的公式保留尾随小数点。
将公式中的 H32 替换为您单元格的 ID,但请确保没有 $ 符号!(没有 $ 符号确保您将格式复制到其他单元格)
对于此规则的格式,选择数字选项卡,选择“自定义”
就这样,负责任地享受吧!如果要将格式复制到其他单元格,请记住您可以复制单元格并使用带有“格式”选项的“选择性粘贴”。
我最近在 Excel 2007 中遇到了这个问题,结果在值单元格中使用了“TRUNC”函数:
value =TRUNC(B5,1)
0 0
5 5
5.4 5.4
65.43 65.4
765.432 765.4
Run Code Online (Sandbox Code Playgroud)
完全按照我想要的方式工作......
小智 1
您/您的用户是直接在单元格中输入值,还是由公式或宏填充?
如果单元格不是由人类直接填充,您可以将计算值存储在隐藏范围中,然后使用如下公式向用户显示格式化文本:
=IF(ROUND(A1,2)=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.0#"))
Run Code Online (Sandbox Code Playgroud)
(其中“A1”是被引用的单元格)
该公式将显示如下值:
-------------------------
|Original |Formatted|
|-------------+---------|
| 15 | 15|
| 14.3453453 | 14.35|
| 12.1 | 12.1|
| 0 | 0|
| -15.123 | -15.12|
| 1.004 | 1|
-------------------------
Run Code Online (Sandbox Code Playgroud)
注意:公式输出是文本字符串,而不是数字,因此:
| 归档时间: |
|
| 查看次数: |
225612 次 |
| 最近记录: |