Excel万能查找模板优化版,公式优雅至极,效率惊人!

醉香说职场 2024-07-22 00:57:37

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!

——首发于微信号:桃大喵学习记

前段时间跟大家分享了一篇教程,后来有个小伙伴提了一个非常好的建议:“不用每个参数都加IF判断,直接在最后的LET外套个IF来判断查询关键词是否为空就可以。”。首先非常感谢这个小伙伴提出的宝贵建议,今天就在这个小伙伴建议基础上对Excel万能查找模板进行公式优先,让公式更简约优雅。同时,欢迎大家积极留言讨论,期待与你的每一次互动,让我们共同成长!

Excel万能查找模板实现效果

如下图所示,左侧是员工信息表格数据,有多个字段信息,我们通过查询关键词,只要左侧表格任何字段信息包含这个关键词,都会被自动筛选查找出来。

一、主要函数介绍

要实现万能查询模板的制作需要使用到下面这几个主要的函数LET函数、SEARCH函数、IFERROR函数、FILTER函数等。下面先对这几个函数进行简单介绍。

1、LET函数介绍

功能:将计算结果分配给名称。可用于通过定义公式内的名称来存储中间计算结果和值。这些名称仅在LET函数作用域内适用。

语法:=LET(名称1,名称1值,名称2,名称2值……,结果表达式)

第1参数名称1:分配的第1个名称

第2参数名称1值:分配给第1个名称的值

下面的参数依此类推

最后一个参数就是结果表达式。

实例:

公式:=LET(苹果,10,价格,3.5,苹果*价格)

结果是:35

解读:

第一参数:苹果,就是指定的第一个名称

第二参数:10,函数会将这个10赋值给“苹果”

第三参数:价格,就是指定的第二个名称

第四参数:3.5,函数会将这个3.5赋值给“价格”

第五参数:苹果*价格,这个就是结果表达式,现在苹果=10,价格=3.5,所以它们相乘的结果就是35

2、SEARCH函数介绍

功能:查找字符首次出现位置

语法:=SEARCH(要查找的字符串,被查找字符串,[开始位置]

主要是利用这个函数信息按列模糊匹配

3、IFERROR函数介绍

功能:如果公式的计算结果为错误值, 则 IFERROR 返回您指定的值;否则, 它将返回公式的结果。

语法:=IFERROR(值,错误值)

4、FILTER函数介绍

功能:FILTER是基于定义的条件筛选一系列数据的函数,它由数组,包括,空值三个参数所构成。

语法:使用语法=FILTER(数组,包括,空值)

解读:

我们可以使用FILTER函数轻松实现单条件或者多条件查询,使用FILTER进行多条件查询窍门在第2个参数:

①如果需要多个条件同时满足,就用*把多个条件连接

公式:=FILTER(返回数组,(条件1)*(条件2)*(条件N),空值)

②如果需要多个条件满足任意一个,就用+把多个条件连接

公式:=FILTER(返回数组,(条件1)+(条件2)+(条件N),空值)

二、制作Excel万能查询模板步骤

第一步、

先制作按“姓名”这列查询

也就是当输入查询关键词后,姓名这列数据中包含对应关键词的所有员工全部查找出来。

在目标单元格中输入公式:

=FILTER(A:F,A:A=I1,"无内容")

然后点击回车。

解读:

这一步只是实现了关键词必须是完整姓名,这样才能根据姓名这列数据进行查询。

第二步、

根据按关键词对“姓名”这列进行模糊查询

要写实现根据关键词对姓名这列数据进行模糊查询,我们可以把公式修改成:

=FILTER(A:F,IFERROR(SEARCH(I1,A:A),0),"无内容")

然后点击回车即可

解读:

查询条件使用到了SEARCH函数,也就是只要查询关键词在A列姓名这列内,就满足条件,最后就能筛选出对应的信息。再结合IFERROR函数,把姓名不包含关键词的返回错误值屏蔽掉,都返回0。

第三步、

进行多条件查找

上面的公式只是查找“姓名”这列数据符合条件的信息,我们需要查找所有列包含查询关键词的信息。其实,就是利用FILTER函数多条件查询,用多个SEACH公式去查找搜索,A列,B列,C列,D列,E列,F列,只要有任何一个满足条件的数据,就会把对应的A:F列结果给筛选出来。

公式如下:

=FILTER(A:F,IFERROR(SEARCH(I1,A:A),0)+IFERROR(SEARCH(I1,A:A),0)+IFERROR(SEARCH(I1,C:C),0)+IFERROR(SEARCH(I1,D:D),0)+IFERROR(SEARCH(I1,E:E),0)+IFERROR(SEARCH(I1,F:F),0),"无内容")

第四步、

公式化繁为简,提高可读性

上面的函数公式太长太乱了,中间有过个条件用“+”连接,看到都眼花缭乱了,这是我们可以使用LET函数让函数公式化繁为简,复杂公式变的简洁又优美。

把公式最终优化为:

=IF(I1="","",

LET(

姓名,IFERROR(SEARCH(I1,A:A),0),

部门,IFERROR(SEARCH(I1,B:B),0),

工资,IFERROR(SEARCH(I1,C:C),0),

性别,IFERROR(SEARCH(I1,D:D),0),

考核成绩,IFERROR(SEARCH(I1,E:E),0),

级别,IFERROR(SEARCH(I1,F:F),0),

FILTER(A:F,姓名+部门+工资+性别+考核成绩+级别,"无内容")

)

)

解读:

很多新手小伙伴看到上面的公式是不是有点被惊到了,公式还能这样写?其实,上面的公式就是利用LET函数把多个计算结果,分配给指定的名称,最后通过结果表达式中直接引用名称来完成查找匹配。

①首先利用SEACH函数公式,根据关键词分别对A列,B列,C列,D列,E列,F列进行关键词模糊查询,把对应的SEACH函数公式分别命名为:姓名、部门、工资、性别、考核成绩、级别,这样在最后的结果表达式可以直接引用名称。(备注:上面的定义的名称,可以根据实际情况自行命名,我是直接使用了列标题名称)

②在结果表达式FILTER函数第2参数条件就可以直接设置成:姓名+部门+工资+性别+考核成绩+级别,就就是只要满足一个成立就可以返回对应结果,其实就是OR或的关系;如果是同时满足中间就用“*”号连接,就是AND且的关系。

③最后使用IF函数进行判断,如果关键词不为空再执行查询,否则返回空。

以上就是【桃大喵学习记】今天的干货分享~觉得内容对你有所帮助,别忘了动动手指点个赞哦~。大家有什么问题欢迎关注留言,期待与你的每一次互动,让我们共同成长!

0 阅读:0

醉香说职场

简介:职场啥都得懂