2016-10-19 3 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

Самое простое решение для предусмотренного случая является '= ЕСЛИ (ЛЕВЫЙ (В1, LEN (A1)) * 1 = А1, 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) 
Смежные вопросы