IF函数识别单元格的第一个字符

IF function to identify first character of cell

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

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

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

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

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

LEFTreturns 文本,所以比较也需要针对字符串:

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

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

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

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

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