Excel: отдельный текст в ячейке - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь разделить поле на две части, находя значения, которые находятся слева от звездочки, а затем то, что справа.

Например Ячейка C1 равна 0A*33, тогда C2 должно быть 0A, а C3 должно быть 33.

У меня есть следующие формулы в ячейках C2 и C3:

=LEFT(C1,SEARCH("~*",C1,1)-1)

=RIGHT(C1,LEN(A3)-SEARCH("~*",C1,1))

Эти формулы прекрасно работают, пока в ячейке есть звездочка, в противном случае это приводит к ошибке # VALUE! .

Я даже пытался (для левой стороны) =LEFT(C1,IF(ISERROR(SEARCH("~*",C1,1)-1),C1,SEARCH("~*",C1,1)-1)) с тем же результатом.

Если в ячейке нет звездочки, она должна вернуть все значение в C2 и ничего в ячейке C3 .

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Вы пробовали:
В С2:

=IF(ISERROR(FIND("*",C1)),C1,LEFT(C1,FIND("*",C1)-1))

В С3:

=IF(ISERROR(FIND("*",C1)),"",RIGHT(C1,LEN(C1)-FIND("*",C1)))

Вы можете использовать ту же идею с SEARCH, но FIND отлично работает в этом случае:

В С2:

=IF(ISERROR(SEARCH("~*",C1,1)),C1,LEFT(C1,SEARCH("~*",C1,1)-1))

В С3:

=IF(ISERROR(SEARCH("~*",C1,1)),"",RIGHT(C1,LEN(C1)-SEARCH("~*",C1,1)))
1 голос
/ 26 марта 2012
=LEFT(C1,FIND("*",C1&"*")-1)
=MID(C1,FIND("*",C1&"*")+1,255)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...