只提取大小写字母的数组公式 , 请使用数组三键CTRL+SHIFT+回车确认公式:
=CONCAT( IF( ( (CODE(MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1))>=65)*(CODE(MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1))<=90) )+( (CODE(MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1))>=97)*(CODE(MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1))<=122)) MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1) \"\" ) )
如果只提取数字 , 则数组公式如下:
=CONCAT( IF( (CODE(MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1))>=48)*(CODE(MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1))<=57) MID(A2ROW(INDIRECT(\"1:\"&LEN(A2)))1) \"\" ) )
如果用数组公式觉得太麻烦 , 也可以使用Excel插件来提取字符 , 如果你会编写正则表达式 , 那无论是多奇怪的字符 , 都可以通过插件运行正则表达式提取指定的字符出来 。
「从字符串中单独提取字母或数字公式原理解析:」
- 上面的提取字母和数字 , 都使用了相同的原理 , 那就是code函数 , 对不同字符的对应编码 , 其中数字0到9 , 编码为48到57 , 大写字母A到Z , 编码为65到90 , 小写字母a到z , 编码为97到122 。
- 公式是数组公式 , 使用了mid将字符串拆分成单独的字符 , 再通过code函数得到编码 , 与对应编码对比 , 区分字母和数字 , 最终通过if函数判断保留字母或数字 , 使用concat函数将保留的字符拼接在一起 。
- 其中用到了sequence序列函数用法以及filter函数的多条件式判断 , 建议在以溪主页 , 查看对应文章 , 深入了解 。
插件提取方法路径如下:
方方格子-高级文本处理-更多
同时在提取更多里面 , 还支持提取链接以及之前说的拆分地址 。
在高级提取功能里 , 支持额外4种提取需求 , 如图所示 。
以上 , 就是以溪总结的文本字符串提取的相关案例 , 如果你有实际需求没有在以上案例 , 可以留言讨论 。
- excel|这些简单实用的Excel技巧,都会了吗?
- excel|Excel 2021,几个特色函数的典型用法
- HTTP/3 发布!
- 将 Excel 中的数字和文本分成两列,必须弄懂 lookup 函数的查找原理
- 3D打印|Excel 2021,几个特色函数的典型用法
- excel|将 Excel 中的数字和文本分成两列,必须弄懂 lookup 函数的查找原理
- 华为|一个另类的Excel批量粘贴小技巧
- 提取 Excel 中的邮箱前缀,还是这办法好,一次设好就能躺平
- Excel–制作客户管理模板
- 用EXCEL做的工艺流程管理系统