次の内容のセルを含む 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: