公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!
点击上方蓝字 --> 点击“...”--> 选择“设为星标”
如何按关键字模糊匹配,并返回整行数据?如果再提高一下难度,如何将数据表中的多列与关键字模糊匹配,返回所有符合条件的行?
案例:
当下图 1 中左侧的数据表的“姓名”或“菜品”列包含 E2 单元格中的关键字时,就在右侧的数据表区域筛列出整行。
效果如下图 2 所示。
解决方案:
1. 在 G2 单元格中输入以下公式:
=FILTER(A2:C21,IFERROR(SEARCH(E2,A2:A21),0)+IFERROR(SEARCH(E2,B2:B21),0))
公式释义:
SEARCH(E2,A2:A21):在区域 A2:A21 中查找 E2 单元格的值,找到的话会返回一个数字,代表它在字符串中的位置;找不到则返回错误值;
IFERROR(...,0):将上述公式中的错误值替换为 0;
IFERROR(SEARCH(E2,B2:B21),0):跟上述公式原理一样,只不过换成在区域 B2:B21 中查找;
+:两个公式中间的“+”表示“或”关系,相当于 OR 函数,意思是两个条件任意满足其一;
FILTER(A2:C21,...):
filter 是个 365 函数,作用是基于条件筛选;语法为 FILTER(要筛选的数据区域,筛选条件,[找不到结果返回的值]);
本公式中的筛选条件就是两个 search 函数的查找结果;也即是说,只要 A、B 任意列包含关键字,就将这一行筛选出来。
2. 修改 E2 单元格中的关键字,结果区域会自动更新查找结果。