个人永久性免费-Excel催化剂功能第45波-逻辑判断函数增强
自定义函数的最大的作用是可以按需定制,在Excel的原生函数不提供的场景时,传统方法需要使用大量的嵌套函数去实现,实在太累,今天Excel催化剂再次送上一波绝对十分常用的函数逻辑判断类函数给大家使用!
文章出处说明
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。
背景介绍
在Excel的原生函数中,对逻辑判断类的函数少得可怜,一些很常用的判断文本是否包含某个字符串这样的需求的函数都没有。需要对这个简单的需求实现,需要嵌套IF+FIND+ISERROR等诸多函数才能实现一个无比简单的需求。所以为了少用大量的IF判断,对其许多特定的场景进行了自定义函数封装,你将会发现,同样是许多和文本相关的函数,文本这个世界,实在需要太多的方式方法来驾驭它。
具体函数实现
针对不同的判断场景,对其简单作了下细分,有日期、文本和区域三种。
![](https://upload-images.jianshu.io/upload_images/9936495-d7d69f8ccd85b6e2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
IsTextContains函数
判断字符串sourceString是否包含特定字符串lookupvalue,可用最后参数控制是否区分大小写。
![](https://upload-images.jianshu.io/upload_images/9936495-81c2039e9faf24df.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
IsTextContainsWithMultiLookupValues函数
判断sourceString是否在包含指定的多个lookupvalues的任一个
![](https://upload-images.jianshu.io/upload_images/9936495-c2cec38ce5764022.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
IsTextContainsWithSplit函数
和上方的指定多个lookupvalues不同,此时是对查找的源文本进行分割,分割后的多个元素是否与指定的lookupvalue相等(此时不再是包含关系而是相等,因若只是包含关系没必要分割后再判断,直接IsTextContains即可)。
![](https://upload-images.jianshu.io/upload_images/9936495-82a73cec6f8c9792.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
IsRangeContains函数
类似于COUNTIF求出大于0,再嵌套IF判断大于0为包含的嵌套函数,此时直接一个函数完成,意义也更清晰,就是判断当前要找的lookupvalue,在soucreRange区域中是否存在,还可控制模糊或精确匹配。
![](https://upload-images.jianshu.io/upload_images/9936495-3e22b9110cb15905.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
IsRangeContainsWithMultiLookupValues函数
类似于上述的IsTextContainsWithMultiLookupValues,此时是在多个单元格区域sourceRange里找寻只要在lookupvalues的多个元素有一个符合找寻得到即可。
![](https://upload-images.jianshu.io/upload_images/9936495-3696e534e9b16bd9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
IsRangeContainsDuplicatedValue函数
类似于IsRangeContains函数,此时需要有两次或两次以上出现时才返回逻辑真
判断是否有重复值出现的场景,在日常工作中大量存在,用此函数较IF+COUNTIF来得更容易和高效(只需要找寻出现两次情况即可返回结果无需遍历所有统计所有次数)
![](https://upload-images.jianshu.io/upload_images/9936495-5c16898fc274bb7d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
其他简单的的逻辑函数
在此不再赘述,传入的参数都较为简单,较好理解。同时也是日常工作中大量使用到的,有它就少写好多的步骤。
![](https://upload-images.jianshu.io/upload_images/9936495-38b7122278bafe38.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
总结
在日常工作中产生的许多重复性的需求,稍加做提炼,做成一些可复用的功能,同时满足易用性和分享性,让更多的人可以享受到我所提供的便利是我的一大工作成就的来源。我们不是为了极客把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波-任意字符指定长度随机函数
第43波-文本处理类函数增强
第44波-可见区域复制粘贴不覆盖隐藏内容
关于Excel催化剂
Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!
Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!
Excel催化剂插件下载链接:https://pan.baidu.com/s/1kDtFkM5KZ4R1lAO0TO07AA
因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物,进群的好处不用多说了)
![Excel催化剂插件交流群群二维码](https://upload-images.jianshu.io/upload_images/9936495-a9c970b98dc4df85.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![联系作者.png](https://upload-images.jianshu.io/upload_images/9936495-3559071d78c66408.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![公众号.png](https://upload-images.jianshu.io/upload_images/9936495-d54c58f58ae097a3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
取名催化剂,因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催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。