Как извлечь средние символы из ячейки в Excel - PullRequest
0 голосов
/ 18 ноября 2018

Мне нужен код функции Excel, который позволил бы мне извлекать определенные символы в середине ячейки.

Так в ячейке А74 есть:

1625362674848-cdpresent-auths_ol_mart-auths1837372

Так что мне нужно извлечь "auths_ol_mart" в отдельный столбец

Я пробовал это:

=MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)

Теперь проблема в том, что он получает только "cdpresent". Я не совсем уверен, как это сделать.

другие примеры включают в себя:

3837463747-cdpresent-avaya_op_history-clm1827489

Я хочу "avaya_op_history"

3734279458-cdpresent-uk_score_app-clm9377233

Я хочу "uk_score_app"

Спасибо всем

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Альтернативный способ формулы - Text to Columns с дефисом (-) в качестве разделителя.Вы получите то, что ищете в 3-й колонке:

text to columns

0 голосов
/ 18 ноября 2018

Вы можете использовать эту формулу листа:

=LEFT(MID(A1,FIND("-",A1,FIND("-",A1)+1)+1,99),FIND("-",MID(A1,FIND("-",A1,FIND("-",A1)+1)+1,99))-1)

Если вы используете инструмент оценки формул, вы сможете увидеть, как это работает.

Если вы предпочитаете UDF, вы можете использовать:

Function betweenDashes(S As String) As String
    betweenDashes = Split(S, "-")(2)
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...