WPS表格,自动提取无重复项两招
工作中经常会碰到需要从大量数据列表中提取无重复项的工作。对于这类删除重复项的工作,一般只要使用高级筛选即可轻松实现。不过很多情况下我们在得到无重复列表后,还不时需要对原表数据进行修改增减。这就要求在不破坏原表前提下,当原表内容改变时能自动重新提取无重复项列表。这种能自动刷新的无重复列表只利用高级筛选显然会很麻烦。在WPS Office 2010WPS表格中,我们有两种方法可以实现这种自动提取无重复项的效果。

.数据透视表

数据透视表是WPS表格中的一个数据汇总统计功能。由于汇总就是对相同项目的数据进行统计,汇总结果中相同项目只显示为一行,因此可以用来提取无重复列表。就以原表数据保存在B列,提取的无重复列表存放到D列中为例来说吧。

1.生成列表
WPS表格打开保存数据的工作表,选中原数据所在列(B列)。单击菜单数据/数据透视表
,在创建数据透视表窗口请选择放置数据透视表的位置下选中现有工作表单选项,并输入位置为$D:$D(图1),确定完成设置后会显示数据透视表字段列表窗格。在此窗格中把选择要添加到报表的字段中把原数据项选中,拖动到下面的行标签中。马上可以看到D列中显示出B列原表数据的无重复列表了(图2)。






注:在此若再把选择要添加到报表的字段中的原数据拖动到“Σ数值中,还可以在E列统计出各个无重复项的重复次数。

2.清除无关项
自动生成的无重复列表下多了空白和总计,得让它们消失,顺便再设置一下自动刷新。在
标签区域中选中原数据项,右击选择字段设置在弹出窗口的显示选项卡下列表中,单击取消最后面空白复选项前的(图3),确定后即可不显示空白项。再次右击原数据项选择表格选项,单击取消两个表格核对重复数据列总计复选项的,并单击选中打开时刷新复选项(图4),确定返回则可隐藏总计。当然最后你还可以再修改一下列标题、格式等等。


OK,以后你对B列数据进行修改、增减后,只要选中D列的任一单元格,在显示的数据透视表工具栏上单击刷新图标即可看到最新的无重复列表。即使你不去刷新,在重新打开此文件时,WPS表格也会自动帮你刷新无重复列表。

二、函数公式
数据透视表虽然可以自动刷新,但需要即时刷新的话,往往还得我们去单击刷新才行。下面再介绍一个可以确实实现自动即时刷新的无重复列表。

1.编号索引
WPS表格打开保存数据的工作表,在A1单元格输入0,在A2输入公式=IF(COUNTIF($B$2:
B2,B2)=1,A1+1,A1),拖动A2单元格的填充柄把数据向下复制填充出足够的行数,至少要超过原表数据可能输入的最大行数。这样从B2算下来就只有第一个没重复的项会显示不同的序号,而与上面项有重复的则只会显示和上一行相同的序号(图5),也就是说各个序号的第1个就是无重复项了。编号公式的列一定要在原表数据前面,若你的原表数据前面已经没有空列可用的话,则需要选中原数据所在列,右击选择插入在前面插入一列空列,再在插入列中设置公式。


2.提取无重复项
D1单元格输入标题为无重复列表。然后在D2单元格输入公式=IF(ROW()-1>MAX(A:A),"",V
LOOKUP(ROW()-1,A:B,2,0))并拖动填充柄向下复制填充出足以显示所有无重复项的行数。现在对B列中的原表数据进行修改、增加或删除,WPS表格都会即时自动重新提取B列数据中的无重复列表并显示在D列中(图6)。如果你不喜欢看到A列的编号,那么最后可以右击A列选择隐藏,即可把A列的编号藏起来。

公式中VLOOKUP(ROW()-1,A:B,2,0)表示在A:B区域中查A列数据等于ROW()-1的单元格并返回该行B列的值。ROW()-1是通过把当前行号减1来自动生成123……序列数。VLOOKUP有一个特点,那就是当查范围内有多个符合要求的值时,它只会返回符合条件的第一个值,我们就是利用了这一特点才能实现无重复列表的提取。而前面的IFROW()-1>MAX(A:A)则是用来判断当序列数大于A列的最大值时不显示,因为此时VLOOKUP按序列数是不到项的。

以上两种方法各有优点,使用数据透视表可以在在显示无重复列表的同时显示重复次数,而且完全不用修改原表,缺点是不能完全实时自动刷新。而通过函数公式的方法虽然可完全做到自动实时刷新,但必需在原表中添加索引数列。具体要用哪一个方法大家可视情况自己选择吧。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。