如何在 Excel 单元格中仅以格式化的形式显示格式化的数字?

如何在 Excel 单元格中仅以格式化的形式显示格式化的数字?

因此,当我使用 Excel 时,有时使用的公式会提示诸如 67.9999999 之类的答案。

当我将其粘贴到另一个已格式化为小数点后 2 位的单元格中时,它显示 68,但在顶部公式栏中它仍会显示为 67.99999。

我如何才能更改这一点,而无需手动浏览每一个并以 2 位小数的格式重写它,以便单元格和公式栏现在都反映 2 位小数?

谢谢

答案1

以下是单元格中显示的值与公式栏中的值不匹配的典型示例:

在此处输入图片描述

注意单元格格式为一般的

选择您想要修复的单元格并运行此简短的宏:

Sub FixData()
    Dim r As Range

    For Each r In Selection
        r.Value = r.Text
    Next r
End Sub

得到:

在此处输入图片描述

(该宏不会尝试调整单元格的格式)

答案2

当然可以。将公共电子表格中的数据(此时没有人打开它,并且可能会在您将更正的数据粘贴回去之前对其进行修改!)复制到电子表格中方便的位置。如果这是您仅用于此目的的电子表格,或者您只是打开新电子表格,进行工作,然后关闭而不保存,那么最好:这两种选择中的任何一种。

一旦它带有所有小数位,请在附近的列中写下一个公式,如下所示:

=ROUND( DATA, 2)

ROUND()将把每个值更改为两位小数,其方式与 Excel 选择如何显示仅显示两位小数的方式相同。

将与您复制的数据列相匹配的单元格向下复制。现在,您有一列四舍五入到小数点后两位的数值,该数值与公共电子表格中显示的值相匹配。

复制该单元格范围。返回公共电子表格并Paste | Special | Values覆盖原始数据单元格。它们现在被替换为 Excel 显示的相同值。

如果您不熟悉Paste | Special | Values,有很多方法可以实现它,但最简单的方法是使用快捷键组合。我使用另一种很难在这里解释的快捷键组合,但多年来一直使用Alt-E-S-V,然后按Enter。无论如何,只要您知道如何操作,最终的结果都是幸福的。

您仍然在一次性电子表格中保留原始值,因此请快速查看一下,确保没有发生任何异常。如果一切正常,请保存它,然后关闭一次性电子表格。如果看起来很奇怪,请尝试找出原因,然后要么直接关闭公共电子表格而不保存(您总是可以完全重新开始,是吗?),要么按Ctrl-Z,要么将原始数据复制回您刚刚粘贴的内容。三种好方法可以确保不愉快的工作消失,只留下原始内容。

关键在于,正如您上面所说,您愿意做“复制、修复、复制回来”的工作。如果某些事情使这一工作无法完成(例如……公共电子表格从未被所有可能的用户关闭足够长的时间,让您有时间这样做),那么这种方法就行不通了。

答案3

任何有同样需求的人(我认为Fiona Appleton五年后不会读到这个答案!)可能会从我给出的答案中获得价值:

小数仍在公式栏视图中(不在单元格视图中) - 需要四舍五入并删除

它提出了类似的问题。

它非常相似,但又不同,所以将它粘贴在这里并不合适。它基本上解释了利弊,以Precision As Displayed帮助人们根据自己的情况选择是否使用它。它指出了一些 VBA 方法,而该问题的另一个答案给出了其中一种解决方案。它还有一种以所需形式导出数据的方法(导出它是另一个问题中的需求,但这里似乎并非如此,所以可能根本没有用)。它还提到了隐藏公式编辑器的缺点,如果一个人的目标是用户永远看不到精确的值,而只看到显示的值,但如果一个人只需要不把精确的值放在他们面前,那就无关紧要了。

相关内容