首页 > 解决方案 > 使用Excel提取两个相同字符之间的部分字符串

问题描述

我在单元格A1中有以下值

Kate/Nancy/Judy

如果我想检索南希,我需要使用

=SUBSTITUTE(MID(SUBSTITUTE("/" & A3&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","")

如果我想找回JudyKate怎么办?我不能简单地适应MIDLEFT因为RIGHT这些功能具有不同的特点。

谢谢

标签: excelexcel-formula

解决方案


如果你想用一个公式做到这一点,你可以使用:

在此处输入图像描述

中的公式B2

=TRIM(MID(SUBSTITUTE($A2,"/",REPT(" ",LEN($A2))),(B$1-1)*LEN($A2)+1,LEN($A2)))

向右和向下拖动。

关于这个公式的更多信息可以在这个网站上找到。

SPLIT()我们也可以很好地利用 VBA 的函数,像这样:

Function GetNth(Rng As String, Delmt As String, Nth As Long) As String
    Dim Arr() As String
    Arr() = Split(Rng, Delmt)
    GetNth = Arr(Nth - 1)
End Function

在您的工作表中调用:=GetNth(A2,"/",1)=GetNth(A2,"/",2)=GetNth(A2,"/",3)分别返回 Kate、Nancy 或 Judy。


推荐阅读