Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 对于只有数字的单元格,ISNUMBER返回FALSE_Excel_Excel Formula - Fatal编程技术网

Excel 对于只有数字的单元格,ISNUMBER返回FALSE

Excel 对于只有数字的单元格,ISNUMBER返回FALSE,excel,excel-formula,Excel,Excel Formula,例如,在单元格A1中,我有产品代码BW224 在B1中,我有=右(A1,3),因为我只想要数字。公式的结果是224 在C1中,我有ISNUMBER(B1),它返回FALSE 为什么会这样?我怎么才能避开它 这是一个过于简化的例子,但如果我能绕过上面的问题,我可以调整它。我的实际工作表需要(伪代码): 取目标单元格最右边的3个数字字符并将其输出到当前单元格,如果目标单元格包含“zzzz”之类的垃圾或除正确产品代码以外的任何内容(如A1),则公式的输出需要为空或0 在C1上使用=ISNUMBER(值

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

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

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

为什么会这样?我怎么才能避开它

这是一个过于简化的例子,但如果我能绕过上面的问题,我可以调整它。我的实际工作表需要(伪代码):

取目标单元格最右边的3个数字字符并将其输出到当前单元格,如果目标单元格包含“zzzz”之类的垃圾或除正确产品代码以外的任何内容(如A1),则公式的输出需要为空或0

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


同时检查
=ISNUMBER(值(A1))
,这将是
FALSE

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

您可以将
VALUE
与您的
ISNUMBER
一起使用,以检查单元格显示的内容,而不是其内容

=ISNUMBER(VALUE(B1))
演示

右公式返回一个字符串。如果有值,请使用公式值将此字符串转换为值。在这种情况下:

  • 第一种选择。在单元格B1中,使用
    =值(右(A1,3))
  • 第二种选择。在单元格C1中,使用
    =ISNUMBER(值(B1))

  • 我希望这能有所帮助。

    我认为其他优惠方案并不能回答这个问题:

    =IFERROR(1*RIGHT(A1,3),0)
    
    “正确的产品代码”的定义是什么?