IFfunction来识别单元格的第一个字符

我试图在Excel中使用IF函数,以便如果单元格的第一个字符是9 ,则显示的值应该是该单元格的最右边的八个字符,否则显示的值应该是最右边的四个字符。 然而这个公式不起作用:

 =IF(LEFT(A2,1)=9,RIGHT(A2,8),RIGHT(A2,4)) 

它始终返回最右边的四个数字,即使单元格A2中的数字以9开始。

你能指出我在这里做错了吗?

LEFT返回文本,所以比较也需要反对一个string:

 =IF(LEFT(A2,1)="9",RIGHT(A2,8),RIGHT(A2,4)) 

或者您需要将LEFT的结果再次转换为数字:

 =IF(NUMBERVALUE(LEFT(A2,1))=9,RIGHT(A2,8),RIGHT(A2,4)) 

try = IF(INT(LEFT(A2,1))= 9,RIGHT(A2,8),RIGHT(A2,4))

如果条件用于设置字符数,则使用较短的版本:

 =RIGHT(A2,4+4*(LEFT(A2)="9"))