Excel模糊查找+数据透视

比如有如下图所示的数据(可能有几百上千行),我想通过输入客户名/产品型号/价格来进行一个模糊查找(比如我输入腾或者P就可以找到腾讯和PDD)。

由于本次制作示例,就以客户为例来做。

0.选中数据,ctrl+T进行快速表格创建。

1.在D2输入=search(寻找数,数据库),由于寻找数就一个数,所以需要加绝对引用($B$1这样)。

然后向下填充即可。比如sheet5的B1这次是"淘",所以D2是在本表格A2里面去找"淘",

显然D2找不到就会返回#value(一般是公式中的错误参数所致);

3行&7行&11行由于有“淘”字,所以能返回淘所在的位置,本次是1(第一个字符);

如果搜索的是"宝",那么search返回的就是2(第二个字符

Excel模糊查找+数据透视_第1张图片

Excel模糊查找+数据透视_第2张图片

Excel模糊查找+数据透视_第3张图片

 2.OK,那么只要D列有数,就说明search函数找到了。

可以把D列函数改成真假判定。

=search(寻找数,数据库)>0

Excel模糊查找+数据透视_第4张图片

3.选中数据,点表设计,然后点“通过数据透视表汇总”,进行数据透视表的做成。

然后把那几个选项拉到行里面去就OK。最后按照下面的图进行调整。Excel模糊查找+数据透视_第5张图片

Excel模糊查找+数据透视_第6张图片

Excel模糊查找+数据透视_第7张图片

Excel模糊查找+数据透视_第8张图片

Excel模糊查找+数据透视_第9张图片

4.最终大概得到下图这样的。

然后C列的筛选选中true。

Excel模糊查找+数据透视_第10张图片 Excel模糊查找+数据透视_第11张图片

 5.然后字改了以后,会发现数据透视表并没有刷新,为了避免手动刷新。

需要用VBA完成,当输入項变化后,进行刷新。Excel模糊查找+数据透视_第12张图片

 在输入項的这一个sheet的VBE里面输入以下代码。

其中B1是输入的项目。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
ActiveWorkbook.RefreshAll

End If
End Sub

 以上,模糊查找功能完成。

你可能感兴趣的:(excel,vba,search函数,其他)