今天咱们分享一个常见的数据提取问题——按关键字提取数据。
如下图所示,是某机关内部食堂的部分菜单,咱们要以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就会卡死了。
声明:本站所有文章均出自互联网,只为学习之用;如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)