Excel中动态筛选报表制作.docVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel 中动态筛选报表的制作 ??Excel Home??2002-3-14 21:41:32 ???? Excel中的数据筛选功能,不知道大家有没有用过,“自动筛选”能根据用户指定的条件对相应的数据区域中的数据进行筛选,非常方便。但这个功能的不足之处在于它实际上只是隐藏掉了不符合条件的记录,而非生成一张新的工作表,所以对于筛选后的结果的可操作性不强。“高级筛选”解决了这个问题,但操作起来比较麻烦。而这两个筛选功能都有一个共同的弊端,即不能对源数据区域的改变作出任何响应,比如当你向原来的工作表添加了记录后,必须重新使用一次该命令才能更新原筛选结果,而无法即时地自动改变筛选结果。 ??? 那么是否可以利用其它方法来实现对数据的动态筛选呢?答案是肯定的。下面笔者将向大家介绍一种利用Excel公式实现动态筛选报表的方案。 ??? 假设现在有销售报表一份,保存在“汇总表”工作表中,如图一所示。我们要做的是,根据地区的不同,将相应的记录筛选出来,独立成表。而且以后当销售报表中的记录增加时,增加的记录也能自动添加到相应的工作表中去。 ??? 首先,我们在A列前插入一列,新的A列将用来存放用于筛选数据的索引值。在这里,我们先来筛选地区为华东的记录。在A2单元格中输入公式“=IF(B2=华东,1+A1,A1)”,此公式的含义是:如果当前记录的地区值为华东,则索引值为前一条记录的索引值与1的和,否则其索引值与前一条记录的索引值相同。因为公式对单元格的引用采用的是相对引用法,所以可以通过拖曳方法轻而易举地实现公式的复制。你可以放心地往下拖曳,直到一个有足够大行号的单元格。注意,不要试图向A1单元格输入任何内容,否则下面的公式都将出错。这是因为内容为空的A1单元格决定了索引值的初始值为0,直到从A2开始的单元格公式检测到一个符合条件的记录才能将索引值变为正整数值。这就好像定义一个数值型变量,在未向其赋值以前,其初始值为零一样。不过,为了以后你可以清楚知道此列为哪个地区的索引值,可以插入批注。当然,也可以通过修改A2单元格的公式来使A1单元格不去影响后面的单元格公式,这在你理解了全文的要领以后,应该可以自己办得到。 ??? 完成A列的公式后,结果如图二所示。没错,索引值有许多重复的,但是请注意,在索引值相同的记录中,地区为华东的记录总是排在最前面的。这就为后面的筛选工作做好了充分的准备。 ??? 新建一工作表,命名为“华东”,在A1中输入“项次”,然后将“汇总表”中C1:G1的内容复制到本工作表中的B1:F1。在A2单元格中输入数字1,然后向下进行拖曳你觉得足够数量的单元格(在示范工作簿中为A11),得到从1到XX的序列数。 ??? 在B2单元格中输入公式“=IF(ISNA(VLOOKUP($A2,汇总表!$A$2:$G$99,3,0)),,VLOOKUP($A2,汇总表!$A$2:$G$99,3,0))”。这是一个多层嵌套的公式,让笔者将其用意慢慢道来:VLOOKUP($A2,汇总表!$A$2:$G$99,3,0))是指根据A列的索引值,从“汇总表”的A2:G99单元格区域(注意,这个区域最好设置得足够大,免得日后“汇总表”中的记录数超出范围而需要进行修改)中找到相应的记录,并返回该记录第三个字段的值,寻找方式为精确查找。对于索引值相同的记录,VLOOKUP()只会响应排在第一个的记录,而不去管其他的记录,现在放心了吧!ISNA()则是对返回的值进行判断,当VLOOKUP()找不到相应的记录时,其返回值是“#N/A”,此时ISNA()的值就为TRUE。再来看最外层的IF(),当ISNA()的值为TRUE时,则公式将返回空值,否则公式返回VLOOKUP()所返回的值。将B2向右拖曳到F2以复制公式,然后进行修改,即将VLOOKUP()返回列号改为与本列对应的数值。如C2中将3改为4,D2中将3改为5等。修改完成后,我们会看到,“汇总表”中第一条地区为“华东”的记录已经一字不差的反映在工作表“华东”中了。同时选中B1:F1单元格,向下进行拖曳以复制公式。这样,“汇总表”中所有地区为“华东”的记录就都被筛选出来在工作表“华东”中了。如图三所示。 ??? 我们可以尝试着在“汇总表”中添加一条地区为华东的记录,或者将一条地区为华东的记录进行适当的修改,来测试“华东”工作表是否能即时地更新筛选结果。结果如何? 接下去,我们可以用同样的方法,建立“华北”“华南”等地区的筛选工作表。因为在插入行或列时,Excel会自动调整所有公式的引用而无论公式采用的是相对引用和绝对引用,所以对于已完成的公式,大可不必为其担心。 最??? 后要进行说明的是,对于“汇总表”中的数据,你可以添加和修改,但是最好不要直接删除掉某一条记录,否则,进行索引的公式将因为失去目标单元格

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档