如何在Excel中显示/展示自动筛选条件?
自动筛选是Excel用户的一个有用功能,有时我们会应用自动筛选来根据多个条件筛选数据并将文件发送给其他人。在这种情况下,如果其他用户想知道您筛选的条件,他们该怎么办?
使用Kutools for Excel在工作表中显示/展示自动筛选条件
使用用户定义函数在工作表中显示/展示自动筛选条件
假设您有以下数据已根据某些条件进行了筛选,请参见截图:
现在我可以创建一个用户定义函数,将筛选条件显示到单元格中,请按以下步骤操作:
1. 按住ALT + F11键打开Microsoft Visual Basic for Applications窗口。
2. 点击 插入 > 模块,并在模块窗口中粘贴以下宏:
Function AutoFilter_Criteria(Rng As Range) As String
'Updateby20140220
Dim str1 As String, str2 As String
Application.Volatile
With Rng.Parent.AutoFilter
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then Exit Function
str1 = .Criteria1
If .Operator = xlAnd Then
str2 = " AND " & .Criteria2
ElseIf .Operator = xlOr Then
str2 = " OR " & .Criteria2
End If
End With
End With
AutoFilter_Criteria = UCase(Rng) & ": " & str1 & str2
End Function
3. 然后保存并关闭此代码,在一个空行的空单元格中,例如单元格A1,输入此公式=AutoFilter_Criteria(A4)(A4是筛选数据的页眉单元格),请参见截图:
4. 然后按Enter键,然后选择单元格A1,拖动填充柄到需要包含此公式的右边的单元格,所有条件已显示到单元格中,请参见截图:
备注:如果在一列中有超过两个条件,此用户定义函数将不会给出正确的结果。
使用VBA代码在工作表中显示/展示自动筛选条件
在这里,我还可以谈谈一个有趣的VBA代码,它可以帮助您在工作簿的单元格中显示筛选条件。
1. 按住 ALT + F11键打开 Microsoft Visual Basic for Applications窗口。
2. 点击插入 > 模块,并在模块窗口中粘贴以下宏:
VBA代码:在工作表中显示自动筛选条件
Sub ShowAutoFilterCriteria()
'Updateby20140219
Dim xFilter As AutoFilter
Dim TargetFilter As Filter
Dim TargetField As String
Dim xOut As String
Dim OutRng As Range
If ActiveSheet.AutoFilterMode = False Then
Application.StatusBar = False
Exit Sub
End If
xTitleId = "KutoolsforExcel"
Set OutRng = Application.Selection
Set OutRng = Application.InputBox("Cell", xTitleId, OutRng.Address, Type:=8)
Set xFilter = ActiveSheet.AutoFilter
For i = 1 To xFilter.Filters.Count
TargetField = xFilter.Range.Cells(1, i).Value
Set TargetFilter = xFilter.Filters(i)
If TargetFilter.On Then
On Error GoTo OutNext
xOut = xOut & TargetField & TargetFilter.Criteria1
Select Case TargetFilter.Operator
Case xlAnd
xOut = xOut & " And " & TargetField & TargetFilter.Criteria2
Case xlOr
xOut = xOut & " Or " & TargetField & TargetFilter.Criteria2
Case xlBottom10Items
xOut = xOut & " (bottom 10 items)"
Case xlBottom10Percent
xOut = xOut & " (bottom 10%)"
Case xlTop10Items
xOut = xOut & " (top 10 items)"
Case xlTop10Percent
xOut = xOut & " (top 10%)"
End Select
End If
Next
OutRng.Value = xOut
OutNext:
xOut = xOut & TargetField & "= Multiple Filters"
ErrorHandler:
Resume Next
End Sub
3. 然后按F5键运行此代码,将弹出一个提示框让您选择一个空单元格来放置条件,请参见截图:
4. 然后点击OK,所有条件已显示在所选单元格中,如下所示:
备注:
使用此VBA代码,如果您的条件在一列中超过两个,它将不会显示详细的筛选条件,而是显示如下:
使用Kutools for Excel在工作表中显示/展示自动筛选条件
如果您安装了Kutools for Excel,您可以应用其超级筛选功能来筛选数据,同时您可以随时查看筛选条件。
1. 点击 Kutools Plus> 超级筛选 以显示 超级筛选 功能。请参见截图:
2. 在 超级筛选 窗格中,点击 以选择您要筛选的数据区域,然后勾选指定复选框以固定筛选范围。请参见截图:
3. 在 超级筛选 窗格中,点击筛选组中的一行,然后在下拉列表中指定您需要的筛选条件,然后点击确定以完成条件设置。请参见截图:
4. 点击 筛选,所选数据已按条件筛选,同时,您可以查看筛选条件显示在 超级筛选 窗格中。请参见截图:
备注:您可以将筛选条件保存为方案,以便下次使用超级筛选工具。
1. 点击 保存当前筛选设置 按钮,在弹出的对话框中输入筛选名称。
2. 当您下次想要使用此筛选设置时,点击菜单按钮,然后在 载入方案.
Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取
的子菜单中选择方案。
最佳办公效率工具
🤖 | Kutools AI 助手:基于智能执行、生成代码、创建自定义公式、分析数据并生成图表、调用 Kutools 函数等功能,彻底改变数据分析方式… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ... | |
高级 LOOKUP:多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高级下拉列表:快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 .... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)... | |
排名前 15 的工具集: 12 种文本 工具(添加文本、删除特定字符等) | 50 多 种图表 类型(甘特图等) | 40 多种实用 公式(基于生日计算年龄等) | 19 种插入 工具(插入二维码、根据路径插入图片等) | 12 种转换 工具(小写金额转大写、汇率转换等) | 7 种合并与分割 工具(高级合并行、分割单元格等) | 还有更多... |
使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 将标签式界面引入 Office,让您的工作更加轻松
- 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读。
- 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
- 将您的生产力提升 50%,每天为您减少数百次鼠标点击!