Excel中空字符串与数字比较返回true,为何出现该异常结果
Excel中空字符串与数字比较的异常结果解析
- 核心原因是Excel的数据类型比较规则:当你用文本类型的空字符串(比如公式生成的
"")和数字比较时,Excel会将所有文本(包括空文本)判定为大于任何数字。 - 这里要区分两种"空":
- 真正的空单元格(未输入任何内容,也没有公式):会被Excel转换为数字0,此时
=IF(A2>52,"Wrong","Right")会返回Right,因为0不大于52。 - 公式生成的空字符串(比如
=""或者其他公式返回的""):属于文本类型,Excel的比较逻辑里,文本 > 所有数字,所以A2>52会返回TRUE,最终得到Wrong。
- 真正的空单元格(未输入任何内容,也没有公式):会被Excel转换为数字0,此时
- 如果你想让公式正确区分这种情况,可以先判断是否为文本类型的空字符串,比如修改公式为:
=IF(AND(A2<>"",A2>52),"Wrong","Right"),这样只有当单元格不是空文本且大于52时才返回Wrong。
内容的提问来源于stack exchange,提问作者Harold Sandahl
相关产品推荐
相关产品推荐

