ISNUMBER返回只有数字的单元格的FALSE

在单元格A1中,例如,我有产品代码BW224

在B1中,我只有=RIGHT(A1,3)因为我只想要数字。 公式的结果是224

在C1中,我有ISNUMBER(B1) ,它返回FALSE

为什么是这个,我怎么能解决它?

这是一个过于简单的例子,但是如果我能够绕过上述方法,我可以适应它。 我的实际表单需要(伪代码):

取目标单元格最右边的三个数字字符,并将它们输出到当前单元格,如果目标单元格包含像“zzzzzz”这样的垃圾或除了正确的产品代码之外的任何东西(如A1),则公式的输出需要为空或0

C1上使用=ISNUMBER(VALUE(B1))

另外检查=ISNUMBER(VALUE(A1)) ,这将是FALSE

因为单元格可能显示为224但单元格内容为=RIGHT(A1, 3) ,这不是数字。

您可以在ISNUMBER使用VALUE来检查单元格显示的内容,而不是内容

 =ISNUMBER(VALUE(B1)) 

演示。

RIGHT公式返回一个string。 如果有值,则使用公式VALUE将该string转换为值。 在这种情况下:

  1. 第一个选项。 在单元格B1中,使用=VALUE(RIGHT(A1,3))
  2. 第二个选项。 在单元格C1中,使用=ISNUMBER(VALUE(B1))

我希望它有帮助。

我认为其他提议不回答这个问题:

 =IFERROR(1*RIGHT(A1,3),0)