按最后一个分隔符拆分 Excel 单元格

Jus*_*Guy 6 worksheet-function microsoft-excel

我需要通过第一个分隔符(从右到左阅读)拆分一个单元格,以便我可以将该值放入另一个单元格中。

例如,我在单元格 A1 中的数据可能如下所示:

"something - more something - a lot more of something - (this is the text I need)"
Run Code Online (Sandbox Code Playgroud)

单元格 B1 需要值“(这是我需要的文本)”

到目前为止,我所拥有的是:

=RIGHT(a1,LEN(FIND(RIGHT("-"),a1)))
Run Code Online (Sandbox Code Playgroud)

但这似乎只返回最后一个字符:“)”。

Dav*_*non 14

以上两种方法都可以,但这里有一些更容易理解的东西:

=TRIM(RIGHT(SUBSTITUTE(A1,"-",REPT(" ",LEN(A1))),LEN(A1)))
Run Code Online (Sandbox Code Playgroud)


Kyl*_*yle 6

你需要这个公式:

=MID(A1,FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1,LEN(A1))
Run Code Online (Sandbox Code Playgroud)

分解:

LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))
Run Code Online (Sandbox Code Playgroud)

计算单元格内出现“-”的次数,

SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))
Run Code Online (Sandbox Code Playgroud)

然后用“~~~~~”替换最后一次出现的“-”。如果“~~~~~”有可能在您的输入中正常出现,请在此处使用不同的值。

FIND("~~~~~",SUBSTITUTE(A1,"-","~~~~~",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))+1
Run Code Online (Sandbox Code Playgroud)

找到我们刚刚创建的“~~~~~”的位置,并添加一个,以便在它之后开始。最后,完整的公式使用该位置并MID()提取所需的文本。