用EXCEL的正则表达式提取商品的价格

2022年6月27日 35点热度 0人点赞

我们常常需要在文档中提取价格,比如:

文具盒批发价8.8零售及12.8

书包批发价88.8零售价128

钢笔批发价25.5零售价35.5

字帖批发价2.5零售价5

那么我们要把这些杂乱的价格提取到EXCEL中,如果是几百上千,就困难了,小编今天告诉你简单的办法

工具/原料

  • EXCEL
  • VBA

方法/步骤

  1. 1

    将价格信息文档复制在EXCEL的某一个位置,比如存放在Sheet2的第20列第3行.注意,复制后一般会根据回车符号依次粘贴在第4,5.....行。

  2. 2

    打开Excel的VBA窗口,选择新建模块,打开模块输入下列代码

     Function 提取数据(tt As String, n As Long)

    Set objRegx = CreateObject("vbscript.regexp")

    objRegx.Global = True

    objRegx.Pattern = tt & "\D*(\d+\.*\d*)"

    For i = 3 To Sheet2.[t1048576].End(3).Row

        If objRegx.test(Sheet2.Cells(i, 20)) Then

           Sheet2.Cells(i, n) = objRegx.Execute(Sheet2.Cells(i, 20))(0).SubMatches(0)

        Else

        Sheet2.Cells(i, n) = 0

        End If

    Next i

     End Function

  3. 3

    以上代码是一段自定义函数。

    在模块中再次写入

    sub 执行()

    aa=提取数据("批发价",2)

    end sub

    于是就会将批发价提取在sheet2的第三列中依次存放喽!

    如果有问题,请继续与小编沟通!

    END

注意事项

  • 稍微知道VBA的一般操作
  • 代码可以灵活地运用于其他类似的提取
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论