自定义数字格式:如果单元格不为空,则显示“ok”

自定义数字格式:如果单元格不为空,则显示“ok”

在一列中我有不同的值。有些是数字,有些是数字 + 字母,有些数字以 0(零)开头。因此我将列格式化为文本。

借助数字格式,如果单元格中有值,我想显示“ok”而不是单元格中的值。我尝试从这里应用一个技巧:https://trumpexcel.com/excel-custom-number-formatting/

[>1]"Ok";""

但这样一来,值开头就不再有前导零了。新添加的值也会丢失前导零。 有没有办法编写数字格式来显示“ok”并保留原来的值(并且带有前导零)?

在此处输入图片描述

在这里我应用了它[>1]"Ok";"" ,不仅丢失了前导零,而且整个数字也乱了。

在此处输入图片描述

答案1

是的,您可以这样做,但在数字格式字符串中需要采用不同的方法。

给出的示例处理数值,如果 >1,则放置您显示的“OK”。它之所以有效,是因为 Excel 不再将它们视为文本。而这正是您通过更改格式要求 Excel 停止做的事情。

有两种使用数字格式字符串的方法。一种是通常的方法,另一种是上面的方法。我不会过多谈论上面的方法,因为您并没有要求解释它。当然,输入一个新问题并...

在通常的使用中,完整的格式化字符串由四个部分组成。第一部分是如何格式化正数,第二部分是如何格式化负数,第三部分是如何格式化零,第四部分是如何格式化文本。

您需要使用通常字符串中的第四个参数。我将使用前三个参数的简单内容来展示您需要的内容,因为您似乎不需要它们。

因此,像:这样的字符串 0;-0;0;"OK" 将给出您想要的结果。它将显示“OK”,但不会以任何方式更改单元格中的值。由于它仍被 Excel 视为文本,因此它保留了任何前导零和其他功能,并且不会被缩短(您可能没有注意到,但除了 Excel 所做的其他令人不快的事情之外,它还将您的原始值缩短为每个值的前 15 位有效数字)。由于它不被视为数字,Excel 也不会将显示更改为您和我一样不喜欢的科学计数法。

这将处理直接询问的问题。顺便说一句,一旦 Excel 执行了这些操作(例如删除前导零并将值缩短为 15 位有效数字),它们就是永久性的。您无法让 Excel 将它们归还。如果您导入了它们,则可以重新导入它们,但如果您手动输入它们,那么您就完蛋了。您将不得不再次手动输入它们。

相关内容