用Excel的高级筛选比较数据表异同知识科普

我们工作中经常会遇到这种需求 , 有两个数据表 , 想要知道两个表的公共部分和独有部分 , 高级筛选就可以达到此目的 。 例如库房里有一个总的件号明细表 , 今天有一个销售明细表 , 想要知道今天销售的那些是库房里还有的 , 哪些是库房里没有的 , 并分别表示在两个表里 , 其实就是求出两个表的公共部分 , 就可以用高级筛选功能来实现 。

用Excel的高级筛选比较数据表异同知识科普

文章插图
图1 Excel高级筛选
实例:如上图1 , 左方是库房存货 , 右方是今天销售的货号 , 想求出两者的公共部分 。
步骤一:把光标放在左方数据表的任意单元格 , 从“数据/筛选/高级筛选”里调出“高级筛选”对话框 , 并在“数据(列表)区域”和“条件区域”分别如图示填上内容 。
【用Excel的高级筛选比较数据表异同知识科普】 步骤二:点击确定按钮得到如下图2所示结果 。
用Excel的高级筛选比较数据表异同知识科普

文章插图
图2 Excel表格
步骤三:在库存表的最右一列里填上一个“1” , 并把“1”复制到整个表的最右一列 。 如下图3 。
用Excel的高级筛选比较数据表异同知识科普

文章插图
图3 Excel表格步骤四:点击菜单“数据/筛选/全部显示”(2007里是“清除”按钮) , 使筛选后隐藏的内容显示出来 。 如下图4 。
用Excel的高级筛选比较数据表异同知识科普

文章插图
图4 Excel高级筛选设置
步骤五:再次调出“高级筛选”对话框 , 这次把上次的“条件区域”和“数据(列表)区域”互换 , 填上如上图示的内容 , 点击确定 , 得出结果后在右侧的数据区域里写上一个“1”并复制到整列 , 再点击菜单“数据/筛选/全部显示”(2007里是“清除”按钮) , 使筛选后隐藏的内容显示出来 。
标有“1”的数据行就是两个表的公共部分 , 没有标“1”的行就是独有部分 。
技巧要点:
1、要用于筛选的两个列的标题行内容必需一致 , 如本例中A列和H列的标题都是“代号” , 并且在填写条件时的“数据区域”和“条件区域”里的内容要包含有标题 , 如本例是“$H$1:$H$6” , 而不是“$H$1:$H$6” 。
2、为什么要标“1”并复制 。 因为筛选实际上上是隐藏不符合条件的行 , 而在隐藏状态下 , 许多操作都是不行的 , 所以要取消隐藏 , 而取消隐藏后 , 结果就看不到了 , 所以要在隐藏状态下给符合条件的行最后加上一个“1”以示区别 , 这样当取消隐藏后仍能根据是否有“1”而看到结果 。
3、用于筛选的两列里不能有空白单元格 , 如本例里的两个“代号”列 , 要连续 , 不能有空白单元格 。
4、结果显示出来后 , 隐藏的是整行 , 所以你在看左面的数据结果时会发现右边的数据表也少了行数 。

    推荐阅读