1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Excel多条件自动筛选 高级筛选提取唯一值

Excel多条件自动筛选 高级筛选提取唯一值

时间:2021-05-07 00:23:49

相关推荐

Excel多条件自动筛选 高级筛选提取唯一值

数据在Excel表中的筛选,也就是根据定义的条件将需要的数据记录从数据清单中选择出来,同时Excel表只显示你选择的这一部分数据,而不是全部,主要是用来对数据进行整理和分析或数据的提取的。数据筛选相当于数据库中的“查询”(Select)命令(通过子命令Where定义条件)。(Excel中定义的数据筛选源区域也就是数据清单,是有数据库中的表的概念的,表头相当于字段,表头下的每一行就是记录。)

Excel中的数据筛选都需要定义筛选的条件,根据构造条件的方式不同分为自动筛选和高级筛选。自动筛选是通过对话框来构造单一条件,操作比较直观简单便捷。高级筛选是通过数据筛选源数据以外的单元格区域自定义条件,可以定义多个,比较适应多条件、复杂条件的情形。

Excel中的筛选,可以通过工作表选项卡区中的命令直接完成,也可以通过VBA代码完成。(其实也就是将整个筛选操作的过程录制成宏,再适当修改代码。)

1 多条件自动筛选

Sub Filter_MoreCriteria()

Dim Crit As Variant

Application.ScreenUpdating = False

With Worksheets(1)

If .FilterMode = True Then .ShowAllData

.Range("A1").AutoFilter Field:=1, Criteria1:="1243301", Operator:=xlOr, Criteria2:="1288178"

.Range("B1").AutoFilter Field:=2, Criteria1:="ORA"

End With

Application.ScreenUpdating = True

End Sub

2 高级筛选提取唯一值

Sub 高级筛选提取唯一值()

Dim X As Integer

Columns(13).Clear

X = Range("A" & Cells.Rows.Count).End(xlUp).Row

Range("A1:A" & X).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("M1"), Unique:=True

End Sub

3 代码要点

使用AutoFilter或AdvancedFilter方法完成自动筛选或高级筛选:

工作簿.单元格对象.AutoFilter ...

工作簿.单元格对象.AdvancedFilter ...

以上代码完成的如下命令的功能:

数据→筛选…

数据→高级筛选...

(如果不熟悉相关VBA代码,可以通过“录制宏”的方式先录得代码,再适当改动即可。

4 筛选的工作表选项卡区图标命令操作

4.1 自定义筛选

对某列定义筛选条件实现筛选;

4.2 高级筛选

4.2.1 建立条件区域(与需要筛选的数据清单分开);

4.2.2 可以将筛选结果复制到其它区域;

4.2.3 指定需要筛选的列表区域;

4.2.4 指定条件区域;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。