Как извлечь число между двумя разными символами в Excel? - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу извлечь это число: "456", например, из строки ниже:

"abc def! 123z ghi! 456z @ jkl"

Theчисло, которое я хочу извлечь, всегда приходит после "!" и до "z @" string

спасибо

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Или вы можете посмотреть:

Отредактировано и исправлено:

=MID(A2,FIND("! ",A2,FIND("! ",A2,1)+1)+2,LEN(A2)-(FIND(" @",A2,1)+2))

enter image description here

Это так коротко, как я могуполучить его ... Но он предполагает, что всегда будет два "!" в строке до целевого числа ...

Теперь отредактировано, чтобы перехватить один или два экземпляра "!" ...

MID(A2,IFERROR(FIND("! ",A2,FIND("! ",A2,1)+1)+2,FIND("! ",A2,1)+2),LEN(A2)-(FIND(" @",A2,1)+2))

enter image description here

0 голосов
/ 27 февраля 2019

Это должно работать для вас:

=--TRIM(MID(SUBSTITUTE(A1,"! ",REPT(" ",LEN(A1))),FIND("z @",SUBSTITUTE(A1,"! ",REPT(" ",LEN(A1))))-LEN(A1),LEN(A1)))
0 голосов
/ 27 февраля 2019

Если ваша строка находится в ячейке A1, вы можете получить это конкретное число через:

=TRIM(RIGHT(LEFT(A1,FIND("z @",A1,1)-1),LEN(LEFT(A1,FIND("z @",A1,1)-1))-FIND("|",SUBSTITUTE(LEFT(A1,FIND("z @",A1,1)-1),"!","|",LEN(LEFT(A1,FIND("z @",A1,1)-1))-LEN(SUBSTITUTE(LEFT(A1,FIND("z @",A1,1)-1),"!",""))))))

Это длинная формула, предполагающая, что вы можете иметь несколько вхождений ! вВаша строка до z @ будет записана.

Она просто принимает позицию z @ и получает строку справа от начала A1 с этой позиции до последнего появления !и обрежет пробелы.

Примечание: Это работает, если у вас есть только один экземпляр z @.

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