1

У меня есть лист 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 ответ1

0

Если вы просто пытаетесь извлечь 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:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .