2016-10-19 65 views
1

我有两列在下面的结构Excel的匹配IF语句不正确评估

 A B 
1 49 4922039670 

我已经能够评估=LEN(A1)2=LEFT(B1,2)49,并=LEFT(B1,LEN(A1))49。但是,当我尝试评估=IF(LEFT(B1,LEN(A1))=A1,TRUE,FALSE)时,它评估FALSE。我不知道为什么。我试图将列A和列B都更改为不同的匹配格式,但它仍然只是评估FALSE

不完全确定我做错了什么。

+1

的服务提供情况下,最简单的解决方案是'= IF(LEFT(B1,LEN(A1))* 1 = A1,TRUE,FALSE)'。 – zipa

回答

3

也许这取决于版本,但在我的Excel它你施放隐含你的电话号码4922 ......为字符串和49 <>“49”

要么你让两个字符串或两个数字,FE:

=IF(LEFT(B1,LEN(A1))=""&A1,TRUE,FALSE) 

""&<a number> concates一个空字符串到数字,其结果将是一个字符串 你可以使用功能“TEXT”或 - 如果你是肯定的,都是数 - 使用“VALUE

=IF(VALUE(LEFT(B1,LEN(A1)))=A1,TRUE,FALSE) 

使文本应该更加稳定

1

比较字符串(什么LEFT给你)一个整数将是FALSE

=LEFT(B1,LEN(A1))=49 //FALSE 

你想

=LEFT(B1,LEN(A1))="49" //TRUE 

所以:

=LEFT(B1,LEN(A1))=TEXT(A1, "0") 

或者:

=EXACT(LEFT(B1,LEN(A1)),A1)