比如有如下图所示的数据(可能有几百上千行),我想通过输入客户名/产品型号/价格来进行一个模糊查找(比如我输入腾或者P就可以找到腾讯和PDD)。
由于本次制作示例,就以客户为例来做。
0.选中数据,ctrl+T进行快速表格创建。
1.在D2输入=search(寻找数,数据库),由于寻找数就一个数,所以需要加绝对引用($B$1这样)。
然后向下填充即可。比如sheet5的B1这次是"淘",所以D2是在本表格A2里面去找"淘",
显然D2找不到就会返回#value(一般是公式中的错误参数所致);
3行&7行&11行由于有“淘”字,所以能返回淘所在的位置,本次是1(第一个字符);
如果搜索的是"宝",那么search返回的就是2(第二个字符)
2.OK,那么只要D列有数,就说明search函数找到了。
可以把D列函数改成真假判定。
=search(寻找数,数据库)>0
3.选中数据,点表设计,然后点“通过数据透视表汇总”,进行数据透视表的做成。
然后把那几个选项拉到行里面去就OK。最后按照下面的图进行调整。
4.最终大概得到下图这样的。
然后C列的筛选选中true。
5.然后字改了以后,会发现数据透视表并没有刷新,为了避免手动刷新。
需要用VBA完成,当输入項变化后,进行刷新。
在输入項的这一个sheet的VBE里面输入以下代码。
其中B1是输入的项目。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
ActiveWorkbook.RefreshAll
End If
End Sub
以上,模糊查找功能完成。