Excel搜索技巧设置
应用案例1:比较并得到两个表的交集(同一个部分)
表1包含数据列表A,表2包含数据列表B。获取两个列表共享的数据记录(交集),即在两个列表中找到相同的部分。
方法1:高级筛选
高级过滤是处理重复数据的强大工具。
选择第一个数据列表所在的数据区,单击功能区上的数据——高级(在2003年,菜单操作是数据——过滤器——高级过滤器)打开高级过滤器对话框。
在对话框中,可以根据需要选择过滤[方法],例如,在这里选择“将过滤结果复制到其他位置”;[列表区域]是第一个选定数据列表A所在的单元格区域;选择另一列表b所在的单元格区域。如下图所示:
点击【确定】直接得到两个列表的交集,效果如下。虽然两个列表中都有[西瓜]和[菠萝],但由于数量不一致,它们没有被提取为同一记录。
此操作的原理是使用高级过滤功能来过滤符合指定条件的记录,并将两个表中的任何一个作为条件区域,以便在另一个表中过滤掉匹配的记录,而忽略其他不相关的记录。
需要注意的是,在使用高级过滤时,要注意两个列表的表头行的一致性(作为高级过滤中条件区域的前提),在选择列表区域和条件区域时,要包括表头行的范围。
方法2:公式法
有许多方法可以使用公式进行比较。如果是单列数据比较,常用的函数是COUNTIF函数;如果是多列数据记录比较,SUMPUTE函数更有能力。
在其中一个列表旁边输入公式:
=SUMP乘积((A2B2=表2!a 2: a 13美元2!b 2: b 13)* 1)
把填好的抄下来。哪张2!1: a 13美元和第2张!B$2:B$13是另一个列表中的两列数据区,需要根据实际情况进行修改。公式结果等于1的记录是两个列表的交集,如下图所示:
应用案例2:取出两个表格的差异记录
要取出一个表与另一个表之间的差异记录,即没有出现在另一个列表中的部分,其原理和操作与上述第一种情况类似,只是所选的集合在过滤后正好互补。
方法1:高级筛选
首先,更改两个列表的标题行以保持一致,然后选择第一个数据列表所在的数据区域,并单击功能区域上的“数据——高级”以打开“高级过滤器”对话框。在对话框中,选择“在原始区域显示过滤结果”作为过滤方法;列表区和条件区的选择与前一场景1完全相同,如下图所示:
点击【确定】完成过滤,选择所有过滤后的记录,按【删除】删除(或标记),然后点击【清除】(2003年,[全部显示])恢复过滤前状态,得到最终结果,如下图所示:
方法2:公式法
如果使用公式,方法与场景1完全相同,只是最后需要提取公式结果等于0的记录。
应用案例3:取出具有相同关键字但不同数据的记录
在前两个列表中,虽然[西瓜]和[菠萝]的产品名称相同,但数量不同。在某些数据检查场景中,有必要提取这样的记录。
方法1:高级筛选
高级过滤器可以使用特殊的公式,使高级过滤器的功能更加强大。
在第一个列表所在的工作表中,将单元格D1留空,并在单元格D2中输入公式:
=VLOOKUP(A2,表2!$A$2:$B$13,2,0)B2
然后单击功能区上的数据——高级,打开高级过滤器对话框。在对话框中,选择“在原始区域显示过滤结果”作为过滤方法;在列表区的第一个列表中选择完整的数据区,在条件区选择专门设计的D1:D2单元区,如下图所示:
点击【确定】得到筛选结果,即与第二张表商品名称相同但数量不一致的记录列表,如下图所示:
同样,如果您根据此方法在第二个列表中操作,您也可以在第二个列表中找到与第一个列表中的数据不同的记录。
该方法利用了高级过滤中自定义公式添加过滤条件的功能。
方法2:公式法
要使用公式,您仍然可以使用上面提到的SUMPUTE函数,并在其中一个列表旁边输入公式:
=SUMP乘积((A2=表2!$2:A$13)*(B2Sheet2!b 2: b 13美元)
把填好的抄下来。公式中有两个条件,第一个条件是A列的数据相同,第二个条件是B列的数据不同。公式结果等于1的记录是两个列表之间有数据差异的记录,如下图所示。在本例中,众所周知的VLOOKUP函数也可以用于匹配查询,但VLOOKUP仅适用于匹配单列数据。如果目标列表包含更多的字段数据差异比较,则SUMPUTE函数更具可扩展性。