在舍入函数后显示尾随零

在舍入函数后显示尾随零

我正在尝试根据范围在 Excel 上对数字进行四舍五入。如果数字小于 10 且大于 0.5,我希望它四舍五入到小数点后一位。当数字为 0.968 时,它会四舍五入为 1。它不会显示小数点后的零。我如何更改公式以使其显示零(即 1.0)?

编辑:如果数字小于 0.5,我希望它四舍五入并显示 2 位小数。将单元格格式化为仅显示一位小数会使我无法看到第二位小数。

=IF(B11>=10, ROUND(B11,0), IF(AND(B11<10, B11>0.5), ROUND(B11,1), IF(B11<=0.5,ROUND(B11,2))))

答案1

可以按照您的要求更改公式以进行显示。但是,这样做会得到一个看起来像您想要的文本字符串,但文本字符串不是数字。

这本身其实不是问题,因为 Excel 可以进一步使用该值来处理很多事情。如果您要求 Excel 使用文本字符串来处理任何事情,而 Excel 可以看到您在逻辑上不能将其用作文本,而是将其用作数字,Excel 就会这样做:它会将可以视为数字的文本字符串视为数字。因此,从这个意义上讲,您不会给自己带来问题。

但是,在很多情况下,Excel 会意识到您可能想将其用作您创建的字符串,或者用作数字,或者……好吧,它无法在两者之间进行选择。因此,它会认为您将其设置为字符串,因此您一定希望将其设置为字符串。查找就是一个很好的例子。也许您使用字符串进行查找,并且您知道该值在查找数据中,但 Excel 报告错误。这是因为查找数据版本被格式化为数字,但您的查找值是文本。因此,没有匹配项,因为 Excel 尊重您的选择。

那么如何做到这一点?使用TEXT()函数包装您想要完成此操作的公式的任何部分,或者,如果您希望如此处理它的任何输出,只需用它包装整个公式即可。最后可能看起来像这样:

=TEXT(IF(B11>=10, ROUND(B11,0), IF(AND(B11<10, B11>0.5), ROUND(B11,1), IF(B11<=0.5,ROUND(B11,0)))),"0.0")

最后的部分是您想要使用的格式,用于显示一位小数,即使该位是 0。

不过,这可能是这个问题的真正解决方案。很可能,您实际上希望输出保留为数字,而不是字符串。但您想要一种特定的格式。Excel 提供了一种方法来实现这一点。

打开格式化对话框。选择数字格式化选项卡。格式化类别列表底部是“自定义”类别:选择该类别。

然后,您可以输入所需的格式。它将与我上面显示的TEXT()函数格式相同: 0.0

这样做可以将输出保留为纯数字,从而进一步简化结果的使用。同时,您还拥有所需的格式。双赢。

答案2

您可能只需要将单元格格式设置为数字小数位至 1。

在此处输入图片描述



更新:
由于 0.968 四舍五入的特殊性,我将 <10 和 >0.5 部分的格式设置为“0.0”。

=IF(B11<0.5,ROUND(B11,2),IF(B11>=10,ROUND(B11,0),TEXT(B11,"0.0")))

在此处输入图片描述

相关内容