有同学经常会问:我要提取一个单元格里连续的特定的数字怎么办?
提取连续的汉字怎么办?提取连续的字母怎么办?提取特定规则连续字符怎么办?
如果我们用传统的公式做法,就一个提取数字就很麻烦了,开头和结尾数字是一个提取办法,中间的又一个办法,连续的一个办法,还得开火车,呜呜呜
能不能就来一个函数,给几个参数搞定这所以要求呢?
大鹅自己写一个函数解决这个问题
简单介绍下这个函数的属性,然后通过几个案例,来介绍下怎么样。
strTQ(单元格地址,提取规则,[第几个连续],[正序找还是倒叙找])
四个属性,分别是:
1,单元格地址:选单元格地址就好,只支持1个单元格
2,提取规则:"一-隝"表示全部汉字
"0-9"表示全部数字
"A-Za-z"表示全部字母
可以根据自己要找的内容定制写比如带小数点的数字"0-9.",带括号的数字"(0-9)"
3,[第几个连续]:可选参数,默认是1,可以自己写,表示你要提取第几个连续的
4,[正序找还是倒叙找]:可选参数,默认1表示正序找,0表示倒叙找
看不懂没关系,接着看下面几个案例,就明白了
1)提取规格
我要找B列单元格的规格,提取出第一组数组和字母组合的规格
C3单元格写公式:=strTQ(B3,"0-9A-Za-z")
解释下,第二参数:"0-9A-Za-z",表示找连续数字,大字字母和小写字母
三参数忽略默认是第一个,四参数忽略默认是正序查找
就提取出了想要的规格
2)提取数量
这里我多用几个方法
看例子都是第二组连续数字
D3第一个写公式:=strTQ(B3,"0-9",2)
提取第二组连续的数字
但是,如果数据多了,不一定是第二组呢?但是可以确认的是,一定是倒数第一个连续数字表示数量
E3单元格写公式:=strTQ(B3,"0-9",,0)
第三参数,没写,默认找第一组连续数字
第四参数,写0,表示倒叙找
这里的数字是整数,如果小数点怎么写呢?
就是简单把第二参数加了一个小数点 =strTQ(B3,"0-9.",,0)
3)提取单位
观察数据,最后一组汉字就是的单位
G3单元格写公式:=strTQ(B3,"一-隝",,0)
第二参数改为了:"一-隝"
三参数,省略默认第一组数据
四参数0表示倒叙查找
我录制一个动态图,你照着做就可以了
复制代码:
'1参数:单元格地址,2参数:规则,3参数:默认提取第一个连续(第几个连续)
'4参数:默认是1表示正序提取,0表示倒序提取
'默认最多提取256组连续数据
Function strTQ(rng As Range, _
strGuize As String, _
Optional n As Long = 1, _
Optional daoxu As Long = 1)
Dim num&, i&, arr(255) As String, k&, strTemp$
num = Len(rng.Value)
If daoxu = 1 Then '正序走
For i = 1 To num
If Mid(rng.Value, i, 1) Like "[" & strGuize & "]" Then
strTemp = strTemp & Mid(rng.Value, i, 1)
Else
If strTemp <> "" Then arr(k) = strTemp
If arr(k) <> "" Then k = k + 1
strTemp = ""
End If
If i = num And strTemp <> "" Then arr(k) = strTemp
Next
ElseIf daoxu = 0 Then '倒叙走
For i = num To 1 Step -1
If Mid(rng.Value, i, 1) Like "[" & strGuize & "]" Then
strTemp = Mid(rng.Value, i, 1) & strTemp
Else
If strTemp <> "" Then arr(k) = strTemp
If arr(k) <> "" Then k = k + 1
strTemp = ""
End If
If i = num And strTemp <> "" Then arr(k) = strTemp
Next
End If
If arr(0) = "" Then
strTQ = "#N/A" '一个都没找到
Else
strTQ = arr(n - 1)
End If
End Function
只要复制进去,新建的模块里就可以了
然后就是正常公式怎么用,它就怎么用,快点动手试试吧!
喜欢就关注我吧,每天分享职场知识,办公技巧!
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【如何证明一个函数连续(Excel提取连续特定规则的字符)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
