请问在Excel中如何提取多个字符串

请问在Excel中如何提取多个字符串例如A1单元格内数据为AA1,BB1,CC1,CC2,AA2,AA3,BB2,DD1,现在要在另一个单元格内输出AA1,AA2,AA3。用lefleft,riright,MID是不行的,只会提取第一个包含AA的,我要找出所有包含AA的以及后面的1个数字。

答:编写了自定义函数完成。按ALT+F11,打开编辑器,"插入"--"模块",然后复制下面代码进去,回到工作表,像使用普通公式一样使用它,如:=Extr(A1,"AA")

Function Extr(Rng As Range, Str As String)
    Dim TempStr As String
    Dim Arr As Variant
    TempStr = Rng.Cells(1)
    Arr = Split(TempStr, ",")
    For i = LBound(Arr) To UBound(Arr)
        If Arr(i) Like Str & "#" Then
            Extr = Extr & Arr(i) & ","
        End If
    Next
    Extr = Left(Extr, Len(Extr) - 1)
End Function

追问

报错如图所示哦,请问如何解决

追答

要在工作表单元格中使用该公式(如上图),而不是在代码模块中使用。请把你图中第1行红色出错代码删除。

追问

非常感谢,现在数据是5个字母加2个数字的组合,比如CGDPS02,RAASS01,RAASS02这样,要找出所有RAASS的数据,应该怎么改下代码呢

追答

首先,代码里#增加为##。其次公式里“AA”变为“RAASS”。

追问

太感谢了!!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-26
1、选中数据,先分列/以逗号做分隔符
2、再使用连字符&合并。
相似回答