excel表格中怎么提取汉字和数字(你就可以这么任性)

excel表格中怎么提取汉字和数字(你就可以这么任性)(1)

密集恐惧症

数据杂了、乱了,是不是让人很是头疼?就像4天前发布的一篇短文叫《Excel中如何将干净混合数据中的汉字和数字分离》,可以用简单的两个函数将干净的混合数据分离,注意是“干净数据”。什么叫“干净数据”,只可意会不可言传。

有读者留言道:“如果汉字数字汉字的混合呢?怎么提取数字呢?”这真是让人快要疯了的问题,可想我们在使用数据中所享受的是怎么样的摧残!

excel表格中怎么提取汉字和数字(你就可以这么任性)(2)

图1

答案其实很简单,用三个函数即可轻松解决:

(一)TNumber()函数

该函数可将字符串中所有像0-9这样的数字字符全部提取出来,组成一个新的纯数字字符组成的字符串。

(二)TEnglish()函数

该函数可将字符串中所有像a-z这样的英文大小字符全部提取出来,组成一个新的纯英文字母组成的字符串。

(三)TCinhese()函数

该函数可将字符串中所有除数字字符和英文字母以外的字符(肯定包含汉字了)全部提取出来,组成一个新的字符串。

关键是别听广告,看疗效!

excel表格中怎么提取汉字和数字(你就可以这么任性)(3)

图2

excel表格中怎么提取汉字和数字(你就可以这么任性)(4)

图3

excel表格中怎么提取汉字和数字(你就可以这么任性)(5)

图4

excel表格中怎么提取汉字和数字(你就可以这么任性)(6)

图5

是不是很简单!

其实,也不是那么简单。Excel中根本没有提供这三个函数,上边用到的三个函数是用户自定义函数,也就是说是为了满足特定的需求,用户自己的编写的函数。

函数代码粘贴于后,至于怎么使用这些代码,请参见相关VBA中相关课程或听下回分解。

****************************************************

‘用户自定义函数代码 Function TChinese(str_source As String) As String Dim n_len As Integer n_len = Len(str_source) For i = 1 To n_len If Not (Asc(Mid(str_source, i, 1)) >= 48 And Asc(Mid(str_source, i, 1)) <= 57) And Not (Asc(Mid(str_source, i, 1)) >= 97 And Asc(Mid(str_source, i, 1)) <= 122) And Not (Asc(Mid(str_source, i, 1)) >= 65 And Asc(Mid(str_source, i, 1)) <= 90) Then TChinese = TChinese & Mid(str_source, i, 1) Next i End Function Function TEnglish(str_source As String) As String Dim n_len As Integer n_len = Len(str_source) For i = 1 To n_len If (Asc(Mid(str_source, i, 1)) >= 97 And Asc(Mid(str_source, i, 1)) <= 122) Or (Asc(Mid(str_source, i, 1)) >= 65 And Asc(Mid(str_source, i, 1)) <= 90) Then TEnglish = TEnglish & Mid(str_source, i, 1) Next i End Function Function TNumber(str_source As String) As String Dim n_len As Integer n_len = Len(str_source) For i = 1 To n_len If (Asc(Mid(str_source, i, 1)) >= 48 And Asc(Mid(str_source, i, 1)) <= 57) Then TNumber = TNumber & Mid(str_source, i, 1) Next i End Function

****************************************************

@珠海渔夫123

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页