我收到了一份非常乱的数据,需要把地块名(字母+数字+符号“-”)和植被(中文)分开,不能用excel的分列功能中的固定宽度和字符分隔来实现
参考知乎用户https://zhuanlan.zhihu.com/p/89321644
首先要在excel中打开VBA窗口,点击“插入-模块”
将下列代码复制粘贴,代码如下:
Function TQ(rng As Range, Optional i As String = "数字")
With CreateObject("vbscript.regexp")
Select Case i
Case "数字": .Pattern = "\d"
Case "字母": .Pattern = "[a-zA-Z]"
Case "汉字": .Pattern = "[\u4e00-\u9fa5]"
End Select
.Global = True
Set matches = .Execute(rng.Value)
For Each Match In matches
a = a & s & Match
Next
TQ = IIf(Len(a) > 0, a, "")
End With
End Function
可以关闭VBA窗口,回到excel表格中,在新的一列中填入下列公式,下拉
效果如图
至于另外的字母+符号+数字,我也不会改代码,就直接用excel中的substitute函数了
ok了