excel中用正则匹配_Excel利用正则表达式匹配和替换内容
近期使用Excel比较多,有一些匹配和替换的内容。平常涉及的比较简单,也就使用If或者VLOOKUP之类的函数。这次使用到正则表达式和VBA,在此记录一下,以防忘记。
打开文件一定要选择EXCEL打开,按住ALT+F11,右键文件选择“查看代码”,输入代码:
Private Sub RegExp_Replace()
Dim RegExp As Object
Dim SearchRange As Range, Cell As Range
'此处定义正则表达式
Set RegExp = CreateObject("vbscript.regexp")
RegExp.Pattern = "^[A-Za-z0-9]+(\-)?[0-9]?$"
#此处匹配所有以字母或数字开头的单元格(比如A01,或者A01-1)
'此处指定查找范围
Set SearchRange = ActiveSheet.Range("A3:A1008")
'遍历查找范围内的单元格
For Each Cell In SearchRange
Set Matches = RegExp.Execute(Cell.Value)
If Matches.Count >= 1 Then
Set Match = Matches(0)
Cell.Value = RegExp.Replace(Cell.Value, "16S")
#此处将单元格的内容完全替换成16S
End If
Next
End Sub
点击
image
执行代码,即可完成所需功能。
image.png
但是遇到不匹配的模式则提示
image.png
另辟途径解决,还是回归到我熟悉的IF函数。虽然有点曲折,但总算解决了我的问题:
反其道儿行知,不匹配的单元格都是#N/A(使用VLOOKUP匹配没有结果的单元格),将匹配这个的单元格记录为“no”;不匹配的单元格记录为“yes”。
IF(COUNTIF(A2,"#N/A"),"no","yes")
#COUNTIF是对满足条件的单元格计数
#理解为如果A2单元格满足条件,则COUNTIF(A2,"#N/A")返回值为1,
#则满足了IF的条件,返回值为“no”,反之返回值为“yes”。
excel中用正则匹配_Excel利用正则表达式匹配和替换内容相关推荐
- excel中用正则匹配_excel 利用正则表达式匹配工作表中的数据
excel 利用正则表达式匹配工作表中的数据 sheet1中A列放需要匹配的数据 sheet2中A列放正则表达式,可以是多个,但至少一个 匹配到了则在sheet1中C列对应行显示相关标记内容,比如本案 ...
- java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字
在java中怎么利用正则表达式匹配数字 发布时间:2020-12-03 17:47:12 来源:亿速云 阅读:58 作者:Leah 在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介 ...
- php省市区筛选,PHP利用正则表达式匹配省市区
这次给大家带来PHP利用正则表达式匹配省市区,PHP利用正则表达式匹配省市区的注意事项有哪些,下面就是实战案例,一起来看一下.preg_match('/(.*?(省|自治区|北京市|天津市))+(.* ...
- Java进阶(十九)利用正则表达式批处理含链接内容文档
利用正则表达式批处理含链接内容文档 由于项目需求,自己需要将带有链接的标签去除,例如 <a href="/zhaoyao/17-66.html">头晕</a> ...
- excel中用正则匹配_excel 中如何使用正则表达式函数提取或替换内容
word中自带正则表达式,不过Excel中却没有内置.可以在VBA中定义一个正则表达式函数,然后Excel中就可以调用了.VBA代码如下(VBA高亮无效,凑合着看): 1.Function ExStr ...
- java正则匹配汉字_正则表达式匹配中文汉字
文章告诉你如何利用php教程 正则表达式匹配中文汉字哦,下面我们主要讲利用preg_match mb_eregi来验证汉字,并且正则过程出现问题的解决方法. preg_match("/[a- ...
- java正则 链接_Java使用正则表达式匹配获取链接地址的方法示例
本文实例讲述了Java使用正则表达式匹配获取链接地址的方法.分享给大家供大家参考,具体如下: 获取页面中字符串的url地址我们都会使用正则表达式来匹配获取了,下面我来给大家总结几个匹配获取链接地址示例 ...
- java正则任意字符_正则表达式匹配任意字符(包括换行符)的写法
今天在Java中想使用正则表达式来获取一段文本中的任意字符.于是很随意得就写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,". ...
- java 正则 括号外_正则表达式匹配括号外的符号及数据
正则表达式匹配括号外的符号 [\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$)) 将括号外的?!/.,和空格(连续多个时同时)匹配 如 String string1 = "sd ...
最新文章
- scikit正则化 API
- JAVA Calendar具体解释
- python接收邮件g_Python接收Gmail新邮件并发送到gtalk的方法
- duilib进阶教程 -- 改进窗口拖动 (12)
- 智能驾驶板块_智能驾驶股票有哪些?智能驾驶股票一览
- 微信多开txt_电脑版微信怎么双开、多开
- byte数组穿换成pcm格式_形象地介绍DSD的编解码原理及和PCM的区别
- Debian Linux下的Python学习——列表,元组和字典之列表
- JAVA中的线程安全与非线程安全,java面试题,java高级笔试题
- mysql强制指定索引_mysql强制索引和禁止某个索引
- Oracle迁移到MySQL性能下降的注意点
- Rpm另类用法加固Linux安全
- 学Java看什么书比较好
- matlab的grid网格线属性设置,修改网格线密度
- 【Unity实战100例】技能伤害区域判定(矩形,圆,三角形,扇形)(三)
- linux 双显示器 异常,终于搞定双显示器了
- 小蓝本 第一本《因式分解技巧》第四章 拆项与添项 笔记(第四天)
- 淘宝订单API接口获取订单
- 【scrapy爬虫】爬取华为应用市场中所有应用的评论数据
- 微信公众号之底部菜单
热门文章
- html5无法播放腾讯视频教程,电脑中无法打开腾讯视频的解决方法
- 模拟水面表面张力,效果自然、真实,北大图灵班研究入选SIGGRAPH
- Re-ID:AlignedReID: Surpassing Human-Level Performance in Person Re-Identification 论文解析
- html5 图片处理 开源,AlloyImage 基于 HTML5 的专业级图像处理开源引擎 - 文章教程...
- 成都,今夜请将我遗忘 读后感
- 懂了!运算放大器的工作原理
- 算法竞赛入门经典 每日一题(郊区春游)
- 如何从多个角度筛选和搭建量化股票池?
- Android实现APK智能安装且安装后自启动,亲测有用!
- 数据库索引分裂 问题分析