分享

提取数值的最高境界

 L罗乐 2019-01-09

一、题目要求

根据A列的内容,把各个数值提取出来放在B,C,D,E列



二、动画效果


三、公式截图


四、公式

=提($A2,COLUMN(A1))


五、公式解释

  • “提'是用vba加正则表达式自定义的一个函数

  • “提”这个函数两个参数,第1参数要处理的文本;第2参数显示第几个结果

  • 提取数值和提取字符最高境界就是vba加正则表达式,就是你还再难,再复杂,用正则那些都浮云了,有的是函数无法实现的,当然,能现有的函数功能做出来,函数水平已是顶尖水平了


六、所有vba编程代码

Option Explicit
Function 提(Rg As Range, x)
    Dim Reg, Mat '定义相关的变量
    Set Reg = CreateObject('Vbscript.RegExp') '引用正则表达式外部对象
    With Reg
        .Global = True '贪婪
        .Pattern = '\d \.?\d*' '匹配一串数字或者一串带小数点的数字
    End With
    Set Mat = Reg.Execute(Rg) '把匹配的全部结果赋值给mat
    If x <= Mat.Count Then '如果x的值小于等于匹配结果总数,那么
        提 = Mat(x - 1) '把结果赋给函数名“提”
    Else
        提 = '' '否则函数“提”为空
    End If
End Function


七、操作方法

  • 在工作表中像我这样输入原始数据,如果你的数据不一样,代码要作修改。

  • 复制上面的代码

  • 快捷键Alt F11打开vbe后台→插入→模块→把代码粘贴进去

  • 然后像动画一样在工作表里输入函数


打个广告:永兴冰糖橙——中国十大名橙之一

是我自己老爸种的果园,绝对绿色食品,含有多种人体需要的维生素,多吃可以防止感冒,增强抵抗 力,特别是小孩多吃有益,多吃不上火,且是甜的带一丁点酸味,绝对是甜的,不是做微商,请大家理解,同时也请大家多多支持,希望有这个需要求加我微信18664243619,微信上下单购买

 

正宗永兴冰糖橙,果园现摘,无任何加工,不打甜蜜素,不打腊,不加防腐剂,18斤装108元;10斤装65,元全国包邮,要的直接微信付款,我的微信号18664243619。然后发地址,电话我,当天下单,第2天发货


A、全国十大名橙,水份多,甜
B、这是我宝贝女孩




C、冰糖椧橙在树上样子


D:偏远的山区一角

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多