Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String IF函数用于标识单元格的第一个字符_String_Excel_If Statement_Excel Formula_Worksheet Function - Fatal编程技术网

String 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

我试图在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(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