String IF函数用于标识单元格的第一个字符
我试图在Excel中使用IF函数,以便如果单元格的第一个字符是String IF函数用于标识单元格的第一个字符,string,excel,if-statement,excel-formula,worksheet-function,String,Excel,If Statement,Excel Formula,Worksheet Function,我试图在Excel中使用IF函数,以便如果单元格的第一个字符是9,则显示的值应该是该单元格最右边的八个字符,否则显示的值应该是最右边的四个字符。但是,该公式不起作用: =IF(LEFT(A2,1)=9,RIGHT(A2,8),RIGHT(A2,4)) 它不断返回最右边的四个数字,即使单元格A2中的数字以9开头 你能指出我这里做错了什么吗?try=IF(INT(LEFT(A2,1))=9,RIGHT(A2,8),RIGHT(A2,4))try=IF(INT(LEFT(A2,1))=9,RIGHT
9
,则显示的值应该是该单元格最右边的八个字符,否则显示的值应该是最右边的四个字符。但是,该公式不起作用:
=IF(LEFT(A2,1)=9,RIGHT(A2,8),RIGHT(A2,4))
它不断返回最右边的四个数字,即使单元格A2中的数字以9
开头
你能指出我这里做错了什么吗?try=IF(INT(LEFT(A2,1))=9,RIGHT(A2,8),RIGHT(A2,4))try=IF(INT(LEFT(A2,1))=9,RIGHT(A2,8),RIGHT(A2,4))
LEFT
返回文本,因此还需要针对字符串进行比较:
=IF(LEFT(A2,1)="9",RIGHT(A2,8),RIGHT(A2,4))
或者您需要将LEFT
的结果再次转换为数字:
=IF(NUMBERVALUE(LEFT(A2,1))=9,RIGHT(A2,8),RIGHT(A2,4))
LEFT
返回文本,因此也需要对照字符串进行比较:
=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"))
如果使用条件设置字符数,则为较短版本:
=RIGHT(A2,4+4*(LEFT(A2)="9"))
我刚刚运行了它,它工作了=INT(LEFT(A2,1))应该返回9,并且=INT(LEFT(A2,1))=9应该返回truel我刚刚运行了它,它工作了=INT(LEFT(A2,1))应该返回9,而=INT(LEFT(A2,1))=9应该返回TRUE