Excel Home
全球知名的Excel资源网站之一

按关键字提取数据,模式化公式来了

今天咱们分享一个常见的数据提取问题——按关键字提取数据。
如下图所示,是某机关内部食堂的部分菜单,咱们要以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列对应位置的内容。
复杂不?蒙圈不?哈哈哈哈。

方法2 使用Office 365
如果你使用的是Office 365,公式会简单很多:
G2单元格输入以下公式,按回车即可。
=FILTER(A2:B85,ISNUMBER(FIND(E2,A2:A85)))

FILTER函数是365版本中独有的,作用就是按条件筛选记录。第一参数是要处理的数据区域,第二参数是指定的筛选条件,这里的筛选条件咱们仍然使用ISNUMBER+FIND的形式来判断是否包含关键字。
使用公式的优点是,当关键字变化后,结果能自动更新,但是第一个公式在处理的数据量比较多时,不留神Excel就会卡死了。

赞(41)
未经允许不得转载:ExcelHome » 按关键字提取数据,模式化公式来了
分享到

关于我们联系我们
本站特聘法律顾问:李志群律师   沪ICP备11019229号-2

沪公网安备 31011702000001号

征信