乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 「Excel」使用高级筛选实时搜索数据-excel高级筛选

「Excel」使用高级筛选实时搜索数据-excel高级筛选

作者:乔山办公网日期:

返回目录:excel表格制作

有一组数据,有时我们希望能实时检索数据,就像百度搜索那样。高级筛选为我们提供了这一可能。下边是我的原始数据(A4:C1251)。

「Excel」使用高级筛选实时搜索数据下边先看下最终的效果。

视频加载中...

如果我想搜名字中带“强”字的同学。我只需要在搜索栏输入“强”。效果如下。

「Excel」使用高级筛选实时搜索数据

也可以全名搜索,比如输入“张可”。

「Excel」使用高级筛选实时搜索数据

那么这是怎么实现的呢?

首先用到的就是高级筛选。高级筛选应用时,需要设置列表区域,即待筛选的数据;和条件区域,即筛选的条件。用工作表里的高级筛选功能确实可以实现上述功能,但是筛选结果,不会根据搜索框的值自动刷新。如果要实现自动刷新功能,就要用到VBA来辅助实现。

看一下VBA代码。

Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Target = Range("B2") Then

Range("A4:C1251").AdvancedFilter Action:=xlFilterInPlace, _

CriteriaRange:=Range("A1:A2"), Unique:=False

End If

End Sub

这段代码的意思是,如果B2单元格(搜索框)的值变化了,那么对单元格区域A4:C1251进行高级筛选(AdvancedFilter:高级筛选函数),筛选结果在原位置显示(Action:=xlFilterInPlace),条件列表是A1:A2(CriteriaRange:=Range("A1:A2"))。

在高级筛选的时候,筛选条件为文本时,我们可以用通配符来设置。'?'可以代表任意单个字符,'*'表示若干个字符。比如第一个例子,筛选名字中带“强”的,下图 条件列表 A1:A2中,A2的公式为="*"&B2&"*",最终结果为 *强*,这就表示筛选条件为字符串中含"强"的文本。也可以设置成 "张*",这样筛选出的就是姓张的同学。

「Excel」使用高级筛选实时搜索数据

本例是以姓名为筛选条件的。也可以改成别的,比如课程。将A1单元格改成"课程名称",这样就以课程名来筛选了。然后搜索栏输入电路,就能找出所有课程名称中带有"电路"的课程。

「Excel」使用高级筛选实时搜索数据

介绍的内容比较少,大家多多发散思维,一定可以实现更实用,更复杂的功能。

本文标签:excel高级筛选(20)

相关阅读

  • EXCEL中的高级筛选-excel高级筛选

  • 乔山办公网excel表格制作
  • excel高级筛选,1、设置筛选条件在某个单元格区域,按原数据清单中的字段(列标题)设置筛选条件。筛选条件所在的单元格区域,应放置在与表格至少空一行或一列的空白区域,使EXC
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网