按关键字提取数据,学会方法很简单

yumo6666个月前 (05-21)技术文章37

小伙伴们好啊,今天咱们分享一个常见的数据提取问题——按关键字提取数据。

如下图所示,是某机关内部食堂的部分菜单,咱们要以E2单元格中的关键字,提取出菜名中包含该关键字的所有记录。


方法1 函数公式

G2输入以下数组公式,按住Shift和Ctrl键不放,按回车。再将公式向右向下复制。

=IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(FIND($E$2,$A$2:$A$85)),ROW($2:$85)),ROW(A1))),"")

提取结果如下:

公式大致的意思是,使用FIND函数在数据区域中查询关键字,如果包含关键字就返回表示位置的数字,否则返回错误值。

然后使用ISNUMBER函数判断FIND函数的结果是不是数值,就相当于是判断是不是包含关键字。

接下来使用IF函数,如果包含关键字就返回对应的行号。

再使用SMALL函数从小到大提取出这些包含关键字的行号,并用INDEX函数返回A列对应位置的内容。

复杂不?蒙圈不?哈哈哈哈。


如果你使用的是Office 2021或者最新版的WPS表格,公式会简单很多:

G2单元格输入以下公式,按回车即可。

=FILTER(A2:B85,ISNUMBER(FIND(E2,A2:A85)))

FILTER函数的作用就是按条件筛选记录。第一参数是要处理的数据区域,第二参数是指定的筛选条件,这里的筛选条件咱们仍然使用ISNUMBER+FIND的形式来判断是否包含关键字。

使用公式的优点是,当关键字变化后,结果能自动更新,但是第一个公式在处理的数据量比较多时,不留神Excel就会卡死。


方法2 高级筛选

公式看起来眼花缭乱,咱们再试试高级筛选。

使用高级筛选时,条件区域的字段标题要和数据源的标题一样,所以咱们先修改一下E1单元格的标题为“菜名”。

再将E2单元格的关键字前后加上星号。


接下来单击数据区域任意单元格,再依次单击【数据】→【高级】,在高级筛选对话框中选中“将筛选结果复制到其他位置”,再分别选择条件区域和存放结果的起始单元格。


最终效果:


高级筛选操作简单,但是美中不足的是,当关键字变化后筛选结果不能自动刷新。


如果你使用的是2016及以上版本,还可以试试Power Query功能,不但操作简单,而且当关键字变化后还能手动刷新得到最新结果,这部分的内容咱们改日详谈~~。


图文制作:周庆麟

相关文章

告别手动筛选!Excel大神的FILTER函数,让数据动态更新快如闪电

大家好!今天要教大家一个让数据处理效率翻10倍的超级函数——FILTER函数!这个Excel 365和2021版本新增的函数,将彻底改变你处理数据的方式。 为什么FILTER函数如此强大?传统的数据筛...

不支持自动溢出,函数FILTER仍然好用,无论Excel还是WPS

之前两篇关于函数的FILTER的文章备受关注,说明这个函数确实能给大家的工作带来便利。点击查看第一篇点击查看第二篇同时也有不少吐槽,在没有溢出功能的WPS中其效果大打折扣。没有自动溢出,我们就来手动溢...

传统筛选点到手抽筋?FILTER函数让你体验开挂式办公!

“领导突然要南京和浙江的客户的销量!”如图所示:你是不是还在用传统方法筛选数据?1 按Ctrl+Shift+L 调出筛选按钮2 在下拉菜单里选择文本筛选3 在弹窗里手动输入“南京”或“浙江”4 把结果...

Excel多条件筛选别硬扛!FILTER函数3秒搞定N个关键字

今天咱们要攻克一个让无数据人头疼的难题:如何同时筛选包含多个关键字的记录?前几期教了单关键字筛选的妙法,但后台被追问:"归如果要同时筛选A组、B组、F组怎么办?"别急,这就送上升级版解...

Filter函数的三种用法,比用VLOOKUP一对多查询,更加灵活方便

文章最后有彩蛋!好礼相送!Excel秘籍大全,正文开始FILTER 函数可以基于定义的条件筛选一系列数据。在没有filter函数之前,如果实现一对多查询,常见的是构建辅助列,然后使用VLOOKUP+R...

Excel还能访问网页数据?这3个函数让你玩转API和结构化数据

你还以为 Excel 只能做表格汇总?其实 Excel 自带的几个隐藏函数,能做到:实时拉取天气、汇率、新闻等Web API 数据动态拼接带参数的 URL 请求解析 XML 格式数据,提取出标签内容!...