Как вернуть текст слева от переноса строки

Как вернуть текст слева от переноса строки

У меня есть таблица Excel, в которой есть ячейка со следующим содержимым:

Text1: "abc" linebreak1  
....  
Text31: "mno" linebreak31  

Text 32: ... linebreak32  
...  
Text50: "xyz" linebreak50  

Нет, я прочитаю «mno», который находится перед переносом строки 31 в ячейке Excel. Я открыл свой файл Excel с помощью шестнадцатеричного редактора и заметил перенос строки после «o» в строке «Text31»
и использовал следующую формулу:

MID(CELL,FIND("Text31: ",CELL),FIND("Text31: ",CELL)-
FIND(CHAR(13)&CHAR(10),CELL))

но это не сработало. Он вернул две следующие строки (пустую строку и строку "Text32:").

Я не знаю точно, как вернуть текст слева от переноса строки 31. Как мне получить этот текст?

решение1

Если вы просто пытаетесь извлечь mno, это должно сработать. Обратите внимание, что B3это текст.

РЕДАКТИРОВАТЬНебольшая ошибка в формуле, вот исправление:

=LEFT(MID(B3,FIND("Text31: """,B3)+LEN("Text31: """),LEN(B3)-FIND("Text31: """,B3)-LEN("Text31: """)),FIND("""",MID(B3,FIND("Text31: """,B3)+LEN("Text31: """),LEN(B3)-FIND("Text31: """,B3)-LEN("Text31: """)))-1)

Редактирование 2: Поскольку это немного сбивает с толку, вот как я придумал формулу. Я разбил все на шаги/части и поместил их в их собственные ячейки. Продолжал это, пока не получил правильный результат. Я смог построить полную формулу из этого.

Вот как я это разбил, и это вы сможете скопировать и вставить прямо в Excel. Поместите исходный текст в B3, а затем вставьте следующее под ним (в B4-B11):

="Text31: """
=FIND(B4,B3)
=LEN(B4)
=LEN(B3)-B5-B6
=MID(B3,B5+B6,B7)
=FIND("""",B8)
=LEFT(B8,B9-1)

Вот мои описания, которые вы можете вставить в ячейки A4-A11, чтобы помочь себе понять, что, черт возьми, вы видите:

Text Prior to 'mno' : 
Start position of Prior Text:
Length of Prior Text:
Length of Original Text - Prior Text - Length of Prior Text:
Remaining Text:
Distance to next ":
Result:

Связанный контент