#excel #excel-formula
#excel #excel-формула
Вопрос:
У меня есть два столбца в следующей структуре
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)
.
Ответ №1:
возможно, это зависит от версии, но в моем Excel вы неявно указываете свой номер 4922… в строку и 49 <> ’49’
Либо вы создаете обе строки, либо оба числа, например.:
=IF(LEFT(B1,LEN(A1))=""amp;A1,TRUE,FALSE)
""amp;<a number>
объединяет пустую строку с числом, результатом будет строка
вы могли бы использовать функцию « TEXT
» или — если вы уверены, что оба являются числами — используйте ‘ VALUE
‘
=IF(VALUE(LEFT(B1,LEN(A1)))=A1,TRUE,FALSE)
чтобы текст был более стабильным
Ответ №2:
Сравнение строки (что 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)