使用LEFT/MID函数提取数字后比较失败的问题求助
问题原因与解决办法
核心原因
你用LEFT和MID提取出来的是文本格式的数字,而非真正的数值类型。Excel中对文本型数字进行比较时,会按照字符的ASCII码顺序逐一对比:比如"3"和"10",先看第一个字符,"3"的ASCII码(51)比"1"(49)大,所以Excel会判定"3">"10",这就导致你的IF(A1<A2,,)返回false。
解决方法
只需把提取后的文本数字转换成数值类型即可,三种常用方式:
- 使用
VALUE函数转换:VALUE(LEFT(A1,1)) // 提取并转换A1的数字为数值 VALUE(MID(A2,6,2)) // 提取并转换A2的数字为数值 - 用双负号(
--)强制转换:--LEFT(A1,1) --MID(A2,6,2) - 通过算术运算触发自动转换(比如加0):
LEFT(A1,1)+0 MID(A2,6,2)+0
内容的提问来源于stack exchange,提问作者HR-32091-24
相关产品推荐
相关产品推荐

