仅使用公式检查 Excel 单元格文本是否为数字

仅使用公式检查 Excel 单元格文本是否为数字

我必须确定我的单元格文本是否是数值,并想使用一个优雅的非 VBA不妨碍其当前状态或值的方法。

我发现该ISNUMBER()函数仅在单元格采用数字格式或具有没有空间如果文本格式例如:

数字作为文本示例

对于前三个我已经使用过=ISNUMBER(...)并且我最后一次尝试的是=ISNUMBER(TRIM(...))

我使用过的唯一不使用 VBA 的方法是使用文本到列覆盖我当前的值,然后使用该=ISNUMBER()函数。

笔记:我精通 VBA 和 Excel,并且知道我可以创建用户定义函数。但我不想这样做,因为这会强制安装宏所需的工作簿或加载项,而在某些情况下我可以并且已经这样做了。

我将不胜感激任何建议、想法(即使他们告诉我这是不可能的)或 VBA 解决方案(但不会被标记为答案)。

答案1

尝试将单元格值乘以 1,然后运行IsNumberTrim函数,例如:

=IsNumber(Trim(A1)*1)

答案2

假设要转换的值在 A1 中,则可以使用以下公式:

=ISNUMBER(VALUE(TRIM(CLEAN(A1)))

此处,clean 和 trim 函数用于删除空格和不可打印的字符。函数值将字符串转换为数字,使用转换后的字符串,我们可以检查该值是否为数字。

答案3

最短我的问题的答案是:

=N(-A1)

谢谢 brettdj

答案4

如果有人需要过滤包含非数字内容的单元格:

=AND(SUMPRODUCT(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))=LEN(A1),A1<>"")

小数和负数结果FALSE

相关内容