我有一个正在使用的Excel文件。有一列包含数字和文本,有时只是其中一个。我正在尝试编写一个函数,扫描单元格的最左边部分,看看它是否以数字开头。我以为我有但显然没有。这就是我所拥有的
=IF(ISNUMBER(LEFT(E8,1)), "True", "False")
尽管特定的单元格E8以"3“开头,但这仍然会给我带来一个”假“结果。我在这里错过了什么?
发布于 2016-05-12 13:57:09
试试这个:
=IF(ISNUMBER(VALUE(LEFT(E8,1))),"True","False")
发布于 2017-06-14 19:29:39
使用IF语句是多余的。要达到你想要的结果,最简单、最有效的方法是:
=ISNUMBER(--LEFT(E8,1))
它将自动返回TRUE或FALSE。
发布于 2016-05-12 14:02:40
请注意,您可以通过以下方法实现所需的功能:
=NOT(ISERROR(LEFT(E8)*1))
如果不使用LEFT(E8)
,则计算结果为LEFT(E8,1)
,乘法为1,则对任何非数字的内容都抛出一个错误。
如果您需要将输出作为字符串,那么按照下面的步骤进行更新:
IF(NOT(ISERROR(LEFT(E8)*1)),"True","False")
编辑
使用ISNUMBER()
是NOT(ISERROR())
的一个很好的替代品
=ISNUMBER(LEFT(A1)*1)
=IF(ISNUMBER(LEFT(A1)*1),"True","False")
https://stackoverflow.com/questions/37189049
复制相似问题