改行後のテキストを返す方法

改行後のテキストを返す方法

次の内容のセルを含む Excel シートがあります:

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

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

いいえ、Excel セルの改行 31 の前の「mno」を読み取ります。Excel ファイルを 16 進エディターで開き、「Text31」行の「o」の後の改行に気付いたので
、次の数式を使用しました。

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

しかし、実際には機能しませんでした。次の 2 つの行 (空白行と「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:

関連情報