最後の区切り文字で Excel セルを分割する

最後の区切り文字で Excel セルを分割する

その値を別のセルに入力できるように、最初の区切り文字 (右から左に読む) でセルを分割する必要があります。

たとえば、セル A1 のデータは次のようになります。

"something - more something - a lot more of something - (this is the text I need)"

セル B1 には「(必要なテキスト)」という値が必要です。

これまでのところ、私が持っているものは次のとおりです。

=RIGHT(a1,LEN(FIND(RIGHT("-"),a1)))

しかし、これは最後の文字「)」のみを返すようです。

答え1

次の式が必要です:

=MID(A1,FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,LEN(A1))

壊す:

LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))

セル内の「-」の出現回数をカウントします。

SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))

最後に出現した「-」を「~~~~~」に置き換えます。入力中に「~~~~~」が通常出現する可能性がある場合には、ここで別の値を使用してください。

FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1

先ほど作成した「~~~~~」の位置を見つけて、その直後から開始するように 1 つ追加します。そして最後に、完全な数式でその位置を使用して、MID()目的のテキストを抽出します。

答え2

上記のどちらも有効ですが、もう少しわかりやすい例を以下に示します。

=TRIM(RIGHT(SUBSTITUTE(A1,"-",REPT(" ",LEN(A1))),LEN(A1)))

答え3

これを試してみてください:

=TRIM(IF(ISERROR(FIND("-",A1)),"",MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"-",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,255)))

ここに画像の説明を入力してください

関連情報