Excel中手机号长度大于10位时删除前两位国家码的公式错误排查
公式错误原因
- 第一个错误是括号位置错误:你写的
LEN(A1>10)会先执行A1>10的逻辑判断,得到布尔值TRUE或FALSE,再对布尔值取长度:TRUE的字符长度是4、FALSE的字符长度是5,二者都不为0,所以IF的判断条件永远为真,所有单元格都会触发截前两位的逻辑。正确的写法应该是先取A1的长度再和10比较,即LEN(A1)>10。 - 第二个错误是IF函数参数不全:标准IF函数的结构是
IF(判断条件, 条件成立返回值, 条件不成立返回值),你没有写条件不成立时的返回值,当长度等于10的时候公式会返回FALSE而非原手机号,需要补全第三个参数直接返回A1本身。
修正后的公式
=IF(LEN(A1)>10, RIGHT(A1, LEN(A1)-2), A1)
如果需要进一步避免误删长度超过10但前缀不是91的异常号码,可以用加了前缀判断的版本:
=IF(AND(LEN(A1)>10, LEFT(A1,2)="91"), RIGHT(A1, LEN(A1)-2), A1)
内容的提问来源于stack exchange,提问作者Iftekhar Ilm
相关产品推荐
相关产品推荐

