如何将某个单元格中的由英文与数字混合组成的字符串中的英文与中文分别提取到其它单元格?
首先说明,在Excel中没有满足这种功能的现成的函数,要想使用这种函数,就必须使用自定义的函数。
下面我们先看效果
如下图,A列为中英文混合字符串,我们使用自定义函数,提取A列中的数字,保存到B列。
如下图,我们将混合字符串中的英文,提取到C列。
要实现如上的效果,我们就得在Excel中使用自定义函数,下面介绍其方法。
首先,在Excel中,按下组合键 Alt+F11 弹出VBA代码窗口。
之后,在VBA代码窗口中,执行菜单操作“插入”→“模块”,然后,会自动创建一个名为“模块1”的模块。
最后,将如下代码粘贴到你的模块1中:
Function snums(cel) '提取字符串中的数字
Application.Volatile
For i = 1 To Len(cel)
st = Mid(cel, i, 1)
If IsNumeric(st) Then
strNum = strNum & st
End If
Next
snums = strNum
End Function
Function snumt(cel) '提取字符串中的文本
Application.Volatile
For i = 1 To Len(cel)
st = Mid(cel, i, 1)
If Not IsNumeric(st) Then
strNum = strNum & st
End If
Next
snumt = strNum
End Function
最后,保存你的Excel文件,关闭VBA代码窗口。
到这里,整个过程就结束了,您就可以和本文上面所示的图示,使用自定义函数提取英文和数字了。