Excel的函数有400多个,真正常用的50多个,而常有的文本处理类函数也不多,不是因为文本类处理简单,而是Excel真的有点挤牙膏式的每个版本更新那么几个小函数,普通用户等得急切,但实际上这些小函数,自己用自定义函数实现一下,还比官方的更好用。本篇再次对文本处理类函数做了扩展,更方便文本处理。部分函数高级用户其实使用正则处理类函数体验更佳。
文章出处说明
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
文本处理函数
在Excel2016中提供了一个TEXTJOIN的文本函数,好多Excel群友时不是就冒一句说要找这个函数,Excel像挤牙膏一样,这么多年来,拖到2016版才发布这么一个小白级别的函数,也只是醉了,这样的功能,随便一个VBA学习者都能写得出来。当然今天Excel催化剂也有此功能的函数,但比Excel2016提供的原生功能更好用,想得更远。
一般DotNet程序猿可以使用大量微软团队写好的函数,但Excel用户却没这样的福气,Excel催化剂也当搬运工,把这些DotNet的文本处理类函数搬到Excel环境中,供普通大众来使用。
同时因一般普通用户使用正则处理函数,特意重新封装了常用的撷取替换函数
StringJoin函数
对标原生Excel2016中提供的TEXTJOIN函数
特别加上最后一个参数,可以包围每个拼接的字符串项,在写SQL语句时的IN条件时,经常会用到单引号包围着字符串项的效果。
StringJoinIf函数
一般在各种文章、书籍中都有介绍类似VLOOKUP的查找引用功能,但需要一对多的查找方式,返回多个值。各种复制套路流传着,其实更好的方式是返回的多值放到一个单元格里,故开发了类似SUMIF的聚合函数效果,只是此时聚合的是字符串,结果是字符串拼接在一起返回。
TextSplit
前面是拼接字符串,此函数相反是拆分字符串,TextSplit返回一个值,返回的值由最后参数控制,
TextSplits返回所有值,返回结果可按行或按列排列。
切割字符串可以是单个也可以是多个,多个时中间用逗号隔开或者直接引用多个切割符号对应的单元格(连续单元格区域)
函数具体的效果如下:
其他简单文本处理函数
从DotNet里把现有的文本处理函数作了简单封装拿到Excel中来。
提取替换函数
分别对常用的数字、中文、英文作了单独的函数封装,在第25波的文本处理功能时也有过相应的实现,不过那不是自定义函数,对原始数据有破坏作用,一般建议用函数新开一列来处理数据更为合适。
这里特别增加两个指定提取和指定替换功能,方便部分需要指定特定字符的功能时使用。
其中较为特别的是MatchString这个匹配文本。
中间用逗号可指定多个文本,逗号间又区分了只有一个字和多个字的情况。
- 只有一个字时,如下图中的 ”中“,”f“。
只要出现过这一个字即可,多个一个字时可排列组合出多个匹配结果,如A,B,C三个单个的字符,可以匹配A/AB、AC、ABC、ACB、B、BC、BA、BAC、BCA、C、CA、CB、CAB、CBA等结果 - 多个字符一起时,如下图中的“美国”
仅匹配此多个字符的完整匹配,如ABC,BC的MatchString,仅对源文本中的ABC和BC两项匹配。
总结
一口气发布了众多的文本处理函数,可想而知,日常文本处理过程的繁杂程度,函数越多,效率越高。较Excel的挤牙膏式的新增函数速度,不要想有多大的提升空间。同时依赖Excel版本而有的函数,在文件共享时也存在较大问题,用自定义函数的话,几乎没有此后顾之忧,同时可实现更为灵活的使用。希望本篇的函数能够帮助各位在数据处理特别是在文本处理能力上更上一层楼。
系列文章
一文带你全面认识Excel催化剂系列功能
安装过程详解及安装失败解决方法
第1波-工作表导航
第2波-数字格式设置
第3波-与PowerbiDesktop互通互联
第4波-一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法
第5波-使用DAX查询从PowerbiDeskTop中获取数据源
第6波-导出PowerbiDesktop模型数据字典
第7波-智能选区功能
第8波-快速可视化数据
第9波-数据透视表自动设置
第10波-快速排列工作表图形对象
第11波-快速批量插入图片
第12波-快速生成、读取、导出条形码二维码
第13波-一键生成自由报表
第14波-一键生成零售购物篮分析
第15波-接入AI人工智能NLP自然语言处理
第16波-N多使用场景的多维表转一维表
第17波-批量文件改名、下载、文件夹创建等
第18波-在Excel上也能玩上词云图
第19波-Excel与Sqlserver零门槛交互-查询篇
第20波-Excel与Sqlserver零门槛交互-数据上传篇
第21波-Excel与Sqlserver零门槛交互-执行SQL
第22波-Excel文件类型、密码批量修改,补齐Power短板
第23波-非同一般地批量拆分工作表
第24波-批量发送邮件并指点不同附件不同变量
第25波-小白适用的文本处理功能
第26波-正确的Excel密码管理之道
第27波-Excel工作表设置快捷操作
第28波-工作薄瘦身,安全地减少非必要冗余
第29波-追加中国特色的中文相关自定义函数
第30波-工作表快捷操作(批量创建、命名、排序、工作表目录)
第31波-数量金额分组凑数功能,财务表哥表姐最爱
第32波-空行空列批量插入和删除
第33波-报表形式数据结构转标准数据源
第34波-提取中国身份证信息、农历日期转换相关功能
第35波-Excel版最全单位换算,从此不用到处百度找答案
第36波-新增序列函数用于生成规律性的循环重复或间隔序列
第37波-把Sqlserver的强大分析函数拿到Excel中用
第38波-比Vlookup更好用的查找引用函数
第39波-DotNet版的正则处理函数
第40波-工资、年终奖个人所得税计算函数
第41波-文件文件夹相关函数
第42波-任意字符指定长度随机函数
关于Excel催化剂
Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!
Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!
Excel催化剂插件下载链接:https://pan.baidu.com/s/1kDtFkM5KZ4R1lAO0TO07AA
因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物,进群的好处不用多说了)
取名催化剂,因Excel本身的强大,并非所有人能够立马享受到,大部分人还是在被Excel软件所虐的阶段,就是头脑里很清晰想达到的效果,而且高手们也已经实现出来,就是自己怎么弄都弄不出来,或者更糟的是还不知道Excel能够做什么而停留在不断地重复、机械、手工地在做着数据,耗费着无数的青春年华岁月。所以催生了是否可以作为一种媒介,让广大的Excel用户们可以瞬间点燃Excel的爆点,无需苦苦地挣扎地没日没夜的技巧学习、高级复杂函数的烧脑,最终走向了从入门到放弃的道路。
最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任的,外面的世界仍然是一个广阔的世界,Excel只是其中一枚耀眼的明星,还有其他更多同样精彩强大的技术、工具等。*Excel催化剂也将借力这些其他技术,让Excel能够发挥更强大的爆发!
关于Excel催化剂作者
姓名:李伟坚,从事数据分析工作多年(BI方向),一名同样在路上的学习者。
服务过行业:零售特别是鞋服类的零售行业,电商(淘宝、天猫、京东、唯品会)
技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。
历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。
擅长技术领域:Excel等Office家族软件、VBA&VSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。
2018年开始职业生涯作了重大调整,从原来的正职工作,转为自由职业者,暂无固定收入,暂对前面道路不太明朗,苦重新回到正职工作,对Excel催化剂的运营和开发必定受到很大的影响(正职工作时间内不可能维护也不可能随便把工作时间内的成果公布于外,工作外的时间也十分有限,因已而立之年,家庭责任重大)。
和广大拥护者一同期盼:Excel催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。