Извлечение слов между двумя указанными c символами или числом - PullRequest
0 голосов
/ 04 марта 2020

Я хочу извлечь два указанных c слова из ячейки Excel ie: ячейка A1 содержит данные

{"defvcision":"DISASDEE","reascdwon":"labwcel","cowcddcents":"SwcA:Ercwdcror:CwcOwccPcewS:SewellerApcwecpewcal-BwerLR:2/24/2020 : 306973918 @ snedcharo"}

Теперь я хочу извлечь 306973918 и snedcharo из ячейки. Эти значения будут динамически c в других ячейках ie A2 A3 ...

Я пробовал формулу

=MID(A1, SEARCH(":",A1) + 1, SEARCH(":",A1,SEARCH(":",A1)+1) - SEARCH(":",A1) - 1)

, но она не работает.

Ответы [ 3 ]

0 голосов
/ 04 марта 2020

Самым простым будет использование UDF.
Чтобы определить UDF, вам нужно написать простую функцию в модуле электронных таблиц, как показано на рисунке ниже: enter image description here

Тогда Вы можете использовать его в рабочем листе, как показано ниже: enter image description here

Ниже приведен код функции, который вы можете настроить в соответствии со своими потребностями:

Function ExtractText(text As String)
    text = StrReverse(text)
    colonIdx = InStr(1, text, ":")
    apostropheIdx = InStr(1, text, """")
    text = Mid(text, apostropheIdx + 1, colonIdx - apostropheIdx - 2)
    ExtractText = StrReverse(text)
End Function
0 голосов
/ 04 марта 2020

In A2, формула скопирована до A3:

=TRIM(LEFT(RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A$1,"""}","")," @","")," ",REPT(" ",99)),(3-ROW(A1))*99),99))

enter image description here

0 голосов
/ 04 марта 2020

если все ячейки имеют одинаковый формат, вы также можете использовать текст для столбцов в этой ячейке с разделителями и пробелом, и ваш номер будет в столбце "C"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...