蓝可儿视频有个女鬼:Excel2007之---高级筛选

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 14:31:29
高级筛选是比较有用的功能。特别是针对复杂条件的筛选。
最好对要筛选的格式运用数据库格式:即第一行是列标题,每列代表一个类型的数据。
执行高级筛选的方法:数据---排序和筛选---高级(快捷键是Alt---A---Q),
如图:
高级筛选有3个区域,分别是筛选区域,条件区域,复制到区域(即结果区域)。注意3个区域都有标题行。如图:

执行高级筛选后,就会出现一个对话框,对这个对话框的理解非常重要,如图:

条件区域最好放在筛选区域的上方或者是下方,并至少留一个空行与之相隔。条件区域至少由2行组成,第1行是标题行,第2行和其它行是输入的筛选条件。
条件区域的标题必须与筛选区域的标题保持一致!而要保持一致的方法是复制---粘贴筛选区域的标题是最好的方法。条件区域不必包括列表中的每个标题。不需要筛选的列可以不在条件区域内!
我在论坛上看到过这方面帖子,由于筛选文件大,标题多,就有输入错误,找不到原因的情况存在!

复制到区域也包含"标题行",它只能在执行高级筛选命令的工作表上!这一点限制了高级筛选的运用。我们必须知道结果区域放在什么工作表上,就在它上面执行高级筛选!提供一个有关这方面的帖子,以更好理解:http://club.excelhome.net/viewthread.php?tid=325593

您可以将某个区域命名为“Criteria”,此时“条件区域”框中就会自动出现对该区域的引用。您也可以将要筛选的数据区域命名为“Database”,并将要粘贴行的区域命名为“Extract”,这样,这些区域就会相应地自动出现在“数据区域”和“复制到”框中。
我们知道把列表命名为Database,列表可以自动扩展,这点可以用在高级筛选的筛选区域上。
将筛选所得的行复制到其他位置时,可以指定要复制的列。在筛选前,请将所需列的列标签复制到计划粘贴筛选行的区域的首行。而当筛选时,请在“复制到”框中输入对被复制列标签的引用。这样,复制的行中将只包含已复制过标签的列。
[此贴子已经被作者于2008-6-1 10:53:30编辑过]
附件: 您所在的用户组无法下载或查看附件
嵌入式框架页展示Excel视频教程,包括Excel函数公式、Excel VBA图表应用技巧、Excel教程下载与免费在线学习培训。
UID
20974
帖子
5438
精华
5
经验
7721
威望
19
阅读权限
100
性别

在线时间
780 小时
查看详细资料
TOP
yanjie

版主

积分
12511
财富
19858 ¥
分享
0
技术
88
注册时间
2003-7-24
总积分排名
25
发短消息
加为好友
2楼 大 中 小 发表于 2008-6-1 10:20 只看该作者
★Excel服务器2008软件和教程下载★

Excel 在筛选文本数据时不区分大小写。但是,您可以使用公式来执行区分大小写的搜索。使用的函数是EXACT函数。
EXACT函数执行区分大小的搜索,并且返回的是逻辑值,是为高级筛选量身定做的一个函数。有一个事例文件,取自函数的帮助文件。
需要注意的是,执行一次高级筛选后,按F5键---输入   _FilterDatabase   ---确定,可以选择执行高级筛选的数字区域。你按F5键时,还会发现其它两个名称,一个是条件区域名称,一个是复制到区域,如图:
[此贴子已经被作者于2008-7-7 23:04:01编辑过]
附件: 您所在的用户组无法下载或查看附件
UID
20974
帖子
5438
精华
5
经验
7721
威望
19
阅读权限
100
性别

在线时间
780 小时
查看详细资料
TOP
yanjie

版主

积分
12511
财富
19858 ¥
分享
0
技术
88
注册时间
2003-7-24
总积分排名
25
发短消息
加为好友
3楼 大 中 小 发表于 2008-6-1 10:21 只看该作者
★百会创造者:如何用在线数据库代替Excel,把Excel变成“云”★
高级筛选的VBA应用,有非常重要的作用。它可以快速高效率的提取数据集的子集。
高级筛选语句非常简单,但是却很有用!它是Range.AdvancedFilter,它有4个参数,分别对应高级筛选对话框中4个部分。对话框中的黑色箭头对应高级筛选的单元格使用区域。如图:

下面是一个VBA例子,这段代码是执行高级筛选,它要使用的excel文件如下:
 

sub 高级筛选()
dim IRange as range
dim ORange as range
dim finarow as integer,nextcol as integer
'上面是声明变量
finarow=cells(65536,1).end(xlup).row
nextcol=cells(1,255).end(xlToleft).column+2
'给行变量,列变量赋值!
Range("D1").copy Destination:=cells(1,nextcol)
set ORange=cells(1,nextcol)
'复制标题单元格,为输出区域定义一个变量ORange
Set IRange=Range("A1").Resize(finarow,nextcol-2)
'定义一个输出变量区域。
IRange.AdvancedFilter Action:=xlFiltercopy,copytorange:=ORange,unique:=True
'使用高级筛选语句
End sub
以上代码为输入区域和输出区域设置对象变量。其实可以简化为:
sub 高级筛选()
[j1]=[d1]
[a1].currentregion.advancedFilter xlFiltercopy,[j1],true
end sub