我有 100 万个数字作为单元格,其形式为“3.1415926 ± 2.731828。”以及 314±27 和 314 ± 27.32
我想要对这些单元格进行条件格式化或常规格式化,以便它们小数点后只有 4 位数字。
换句话说,
“3.1415926 ± 2.731828。”变成“3.142 ± 2.732”等等。
我还有一些单元格的数字包括 319 ± 283。我想保持这些单元格中的值保持不变。
我如何在 Excel 中实现这个期望的结果?
答案1
答案2
这里的技巧是,还有第三种方法来格式化单元格内容。如果您愿意拆分内容并将其重新组合在一起,则可以使用它。
通过对话框进行常规格式化Ctrl-1
是方法 1,它无法处理这种情况。方法 2 是条件格式化功能,在那里执行此操作将非常困难。方法 3 可以做到这一点,并且还允许您格式化诸如 20 个值级别格式之类的内容(如果您愿意的话)。(如果值在 1 到 10 之间,它会获得一种格式,如果值在 10 到 100 之间,它会获得另一种格式:常规格式化将您限制在其中四个条件中)。
因此,将值拆分为两个单独的数字,并使用函数TEXT()
设置格式来格式化每个数字。如果它不是整数,则要获得四位小数,如果它是整数,则没有小数位,请使用测试IF()
来查看它是否是整数,并为结果TEXT()
函数提供您想要的整数格式,如果它未通过该测试,请使用TEXT()
为其提供四位小数(或三位小数,因为您在示例中显示了三位)的函数。
然后将它们重新组合在一起。最后,要仅使用一个辅助列,请合并公式,以便一个公式创建两个部分并将它们合并到您需要的字符串中。无论您做什么,最终结果都是文本,因此强制将各个部分变为文本并将它们组合为文本是没有问题的。
顺便说一下,通过IF()
测试和使用不同的输出,您可以获得 20、30、100 或任何不同值级别的格式。
对于常规使用,比如我一直提到的值级格式,它们最终以文本而不是数字的形式出现,如果您记住一件事,这不是问题:对于几乎所有用于对数字进行数学运算的函数,Excel 都会将它们视为数字,但对于(大多数)本质上是查找的函数,它们会被视为文本。因此,如果在一组文本条目中给出一个数字来查找,Excel 将无法执行这些操作,可以将查找数字值包装为TEXT()
执行查找的数据所具有的相同格式。如果记住了,这很容易。如果记不住,就很难了。
不过,这其中还是有些奇怪的。添加两个格式化为文本的数字字符,Excel 会这样做,但也会将公式单元格的显示格式更改为文本。即使它执行了加法。也不只是显示。使用F2-Enter
,单元格将作为文本运行,因此它显示的是公式而不是结果。SUM()
从不进行加法,结果从 0 开始。
这个故事中的怪癖寓意:这对于您不会进一步采取行动的值来说是件好事。不打算在某个时候对它们进行“数学运算”,也不打算尝试绘制它们。如果您计划使用该列进行查找,则要为怪癖做好计划。作为输出列,它很好。最后要担心的是,这些单元格中的正常格式最终将更改为文本,因此列可以混合使用文本格式和最初设置的任何格式。当然,这不应该是一个大问题,因为您不会在那里更改公式,不会改变太多。更改输入单元格中的值,公式将忠实地重新计算,即使它现在具有文本格式。(想想吧,对吧?)