如何返回換行符號左側的文本

如何返回換行符號左側的文本

我有一個 Excel 工作表,其中包含一個包含以下內容的儲存格:

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

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

否,我將讀出“mno”,它位於 Excel 儲存格中的換行符 31 之前。我已經使用十六進制編輯器打開了 Excel 文件,並註意到“Text31”行中“o”後面的斷行,
並使用了以下公式:

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:

相關內容