用VBA可以做到,效果如下
代码如下
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Dim tiaojian, quyu As String
tiaojian = [A1]
quyu = "$A$2:$B$6"
If tiaojian = "" Then
ActiveSheet.Range(quyu).AutoFilter Field:=2
Else
ActiveSheet.Range(quyu).AutoFilter Field:=2, Criteria1:=tiaojian
End If
End If
End Sub
不懂就追问
从工具 选项 编辑 设置后
在excel单元格输入数据后回车,则活动单元格是当前单元格的上下左右(在方向右侧下拉选项中分别选择向上/向下/向左/向右)或保留在当前位置(不勾选 按enter后移动)。
启动录制宏,然后在A1录入需要筛选的内容,并手工筛选B列(根据A1内容),停止宏录制。
最后修改自动产生的宏代码,主要是找到B列筛选内容,将其替换为A1单元格的值。
可以通过INDEX+SMALL+IF数组公式来实现自动显示筛选数据,而不是自动筛选的样式。
请用竖直查找Vlookup功能,详细函数用法你百度一下,一下也说不清楚。