格式化整个 Excel 电子表格,使小数点后只有 3 位数字

格式化整个 Excel 电子表格,使小数点后只有 3 位数字

如果我有 3,它就变成 3.000。4.5678 变成 4.568。是否可以在 excel 中执行此操作而不提供电子表格或提供可重现的示例?我想格式化整个 Excel 电子表格,使小数点后只有 3 位数字,或者找出一种方法来修复电子表格每个单元格中的有效数字的数量。

答案1

如果您想要格式化数据,但实际上并不更改数据,那么解决方案分为两部分。

第一部分是将以下格式应用于所有包含数据的单元格。采用 Gary's Student 的方法完全可以实现这一点。以下是要应用的格式:

#,##0.###

这样,您便会得到千位等的逗号分隔符。#如果不需要,请删除前导和逗号。接下来,它可确保您获得01 到 -1 之间的值的前导(因此您将得到“ 0.123 ”而不是“ .123 ”)。如果不需要,请使用其他分隔符#代替0( #,###.### 而不是 #,##0.### )。

神奇之处在于,如果#小数点后使用 ,则每使用一位小数,都会出现一位小数,BUT ONLY除非这会产生一个字符串0's。因此,像 PI 这样的值将给出 3.142,而像 5.202384 这样的值将给出 5.202(它意识到 是0必要的,因为它后面有更多非零小数位),但像 28.2 这样的值将给出 5.202,而不是 28.200,因为它认为最后两位0's只是无用的数字。

请记住,它根本不遵循任何规则significant figures。它只是决定要显示什么。

然而……它的效果很糟糕。像 324 这样的数字后面会显示一个小数点,就像这样:“324。”没人喜欢这样。那该怎么办呢?毕竟,这是目前唯一的实际问题。

这是解决方案的第二部分。将条件格式应用于相同的突出显示的单元格。将其设置为根据公式工作并使用此公式:

=(TRUNC(A1,0)=A1)

(假设活动单元格(“突出显示的单元格”)是 A1。如果不是,则使用实际的单元格。)

请注意,该地址中没有$字符:A1,而不是 $A$1 。这很重要。如果您将活动单元格设为 A1 并使用上述公式,它实际上会针对自身测试每个单元格,这正是您想要的。

该公式将单元格中的值截断在小数点处,并将结果与​​单元格中的实际值进行比较。因此,如果它是一个整数,则它们相等,并且它知道在此处应用格式以避免出现讨厌的小数点。如果实际值不是整数,则测试结果为 FALSE,并且它允许使用第一部分的常规格式显示最多三位小数。

输入公式后,您必须设置格式。但这与您现在想要的完全一样,因此请单击格式按钮,然后单击“确定”,您就完成了。有时有人告诉我它不适用于他们的 Excel 版本,如果您也是这样,请应用自定义数字格式:

一般;一般;一般;一般

这样做一定会奏效。所以先尝试简单的方法,然后只在需要时才这样做。或者直接这样做。这到底是怎么回事呢?

保存条件格式工作,就完成了。

(这看起来很复杂,但这只是因为我解释了这些步骤的作用。实际上,只需执行两个简短的格式化操作,一个是常规格式,一个是条件格式so it is quite quick and easy to do.

答案2

选择整个工作表并应用所需的格式:

在此处输入图片描述

(您可以使用 VBA 宏完成同样的事情。)

相关内容