その値を別のセルに入力できるように、最初の区切り文字 (右から左に読む) でセルを分割する必要があります。
たとえば、セル 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)))