详解find函数的功能和用法 find函数查找多个条件数据

【详解find函数的功能和用法 find函数查找多个条件数据 - 秒懂生活 www.miaodongshenghuo.com】
Excel筛选功能大家都用过,精准筛选只需要在筛选框输入查找的内容即可 。但是如果需要筛选多个内容呢?如下图这种情况 , 需要在A列筛选出包含”苏宁”、”国美”、”club”字段的数据 。

详解find函数的功能和用法 find函数查找多个条件数据


这个问题,我们可以用三种方法去解决 , 小伙伴们挑选适合自己的一种方法记住即可~

高级筛选法

不用函数公式,Excel自带高级筛选功能,只不过这里并不是精准匹配,需要对筛选条件进行处理 。
在D列对筛选条件进行处理,将筛选内容首尾加上星号(*) , 星号(*)代表零个、单个或多个字符,这样就可以精准的匹配出单元格包括”苏宁”、”国美”、”club”的数据 。
详解find函数的功能和用法 find函数查找多个条件数据


做好辅助数据之后 , 依次点击【数据】—【高级】,在弹出来的高级筛选框中,【列表区域】选择A1:A10,【条件区域】选择D1:D4(这里需要注意的一点是D1单元格的内容必须为A列的表头,即A1的内容),点击确定按钮 , 数据已筛选好;
也可选择将筛选的结果复制到其它位置,在弹出的高级筛选框中选择【将筛选结果复制到其他位置】,在【复制到】选项框中选择一个单元格即可 。
详解find函数的功能和用法 find函数查找多个条件数据


数组公式法

在B2单元格输入【=IF(COUNT(FIND($C$2:$C$4,A2)),A2,””)】,同时按下【Ctrl】+【Shift】+【Enter】三键输入数组公式 , 公式下拉,完成匹配 。
详解find函数的功能和用法 find函数查找多个条件数据


公式解读:
FIND($C$2:$C$4,A2):find函数返回一个字符串在另一个字符串中出现的起始位置,查找到返回一个数字,查找不到,返回错误值“#VALUE!”;
COUNT(FIND($C$2:$C$4,A2)) , count计数函数,参数为find函数的结果,查找到,count(一个数字)返回1,查找不到 , count(#VALUE!)返回0;
最后再用一个if函数,如果count结果为1,返回A2单元格内容 , 如果count结果为0,返回空值 。
之所以要同时按下【Ctrl】+【Shift】+【Enter】三键,是为了将公式变成数组公式 , 平时find函数第一个参数为字符串,这里却是一个数组$C$2:$C$4,所以要将公式变成数组公式才能得到正确计算结果 。

lookup向量法

在B2单元格内输入【=LOOKUP(0,0/FIND($C$2:$C$4,A2),$C$2:$C$4)】,公式下来,剔除#N/A值,剩下的结果即为查找内容 。
详解find函数的功能和用法 find函数查找多个条件数据


lookup向量公式:=LOOKUP(查找的值,查找区域 , 返回区域);
其中第二个参数”查找区域”的数据必须按升序排列,且第三个参数区域的大小必须与第二个参数区域大小一致,否则函数LOOKUP不能返回正确的结果;
为了解决升序问题,我们引入了LOOKUP(0,0/条件,返回区域)来解决这一问题,参数二中的”条件”成立返回true,不成立返回false , 0/true返回0,0/false返回#DIV/0!,说明满足条件返回0,不满足返回#DIV/0!,这时只要用一个大于等于0的数值查找就可以返回正确结果了 , 因为lookup默认忽略错误值,相当于排序了;
其中条件可以是多条件数组,参数本身支持,所以这里不用像数组函数那样同时按三个键输入 。

小结

三种方法中,高级筛选法更容易掌握一点,lookup向量法看起来要复杂一点 , 但这正是lookup的精髓所在,它支持逆向查找,功能比vlookup丰富,感兴趣的小伙伴可以学习下 。
以上就是多条件筛选的三种小技巧,你都学会了嘛,如果觉得有用 , 欢迎关注我,每天分享数据小技巧!

秒懂生活扩展阅读