提取混合字符串中的连续汉字

《Excel 2010 函数与公式》疑难143

如图:


提取混合字符串中的连续汉字_第1张图片
Snap1.jpg

将A列中的连续汉字提取到B列
1、VBA法

Sub 提取汉字()
    Dim reg As Object
    Dim mh
    Set reg = CreateObject("vbscript.regexp")
    Dim i As Integer
    reg.Pattern = "[^\u4e00-\u9fff]+"
    reg.Global = True
    reg.ignorecase = True
    For i = 2 To Range("a65536").End(xlUp).Row
        Cells(i, 3) = reg.Replace(Cells(i, 1).Value, "") '将提取的汉字放入C列
    Next
End Sub

2、函数法
在B2单元格中输入如下数组公式

{=MID(A2,MATCH(2,LENB(MID(A2&"吖",ROW(INDIRECT("1:"&LEN(A2)+1)),1)),0),LENB(A2)-LEN(A2))}

PS. 函数公式法的有个缺点,就是如果以后A列中有新增内容,需要手动在B列中拖拉公式到目标单元格。而VBA法会自动进行处理。

你可能感兴趣的:(提取混合字符串中的连续汉字)