《Excel 2010 函数与公式》疑难143
如图:
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法会自动进行处理。
网友评论