求高手写 EXCEL中的不规则字符串中提取前三个数字的自定义函数

求高手写不规则字符串中提取前三个数字的自定义函数(提取第一个的函数就命名为TQSZ1,提取第二个的函数就命名为TQSZ2,提取第三个的函数就命名为TQSZ3)例:ABCD... 求高手写 不规则字符串中提取前三个数字的自定义函数(提取第一个的函数就命名为TQSZ1,提取第二个的函数就命名为TQSZ2,提取第三个的函数就命名为TQSZ3)
例: A B C D
1 AAA12BBB33CCC99DDD888 =TQSZ1(A1) =TQSZ2(A1) =TQSZ3(A3)
2 人87口13手44上999中3434下777 =TQSZ1(A1) =TQSZ2(A1) =TQSZ3(A3)

显示结果为
A B C D
1 AAA12BBB33CCC99DDD888 12 33 99
2 人87口13手44上999中3434下777 87 13 44
展开
 我来答
fdfun
2010-11-28 · TA获得超过950个赞
知道小有建树答主
回答量:1139
采纳率:0%
帮助的人:924万
展开全部
在Visual Basic Application中编辑器中写:
function TQSZ1(str)
on error goto errTQSZ
dim m as integer
str=str & " "
m=0
for i = 1 to len(str)
if asc(mid(str,i))>47 and asc(mid(str,i))<58 then
if m=0 then m=i
else
if m>0 then
TQSZ1=mid(str,m,i-m)
exit function
end if
end if
next
exit function
errTQSZ:
TQSZ1="找不到符合条件的段"
end function

function TQSZ2(str)
on error goto errTQSZ
dim m as integer
str=str & " "
m=-2
for i = 1 to len(str)
if asc(mid(str,i))>47 and asc(mid(str,i))<58 then
if m=-2 then m=-1
if m=0 then m=i
else
if m=-1 then m=0
if m>0 then
TQSZ2=mid(str,m,i-m)
exit function
end if
end if
next
exit function
errTQSZ:
TQSZ2="找不到符合条件的段"
end function

function TQSZ3(str)
on error goto errTQSZ
dim m as integer
str=str & " "
m=-4
for i = 1 to len(str)
if asc(mid(str,i))>47 and asc(mid(str,i))<58 then
if m=-4 then m=-3
if m=-2 then m=-1
if m=0 then m=i
else
if m=-3 then m=-2
if m=-1 then m=0
if m>0 then
TQSZ3=mid(str,m,i-m)
exit function
end if
end if
next
exit function
errTQSZ:
TQSZ3="找不到符合条件的段"
end function
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式