当前位置:文档之家› 重复项·怎样用公式删除重复项

重复项·怎样用公式删除重复项

重复项·怎样用公式删除重复项
重复项·怎样用公式删除重复项

怎样用公式删除重复项(重复的只保留一项)?

1楼怎样删除重复项,一直是一个热门的话题,网上贴子很多,大部分是利用Excel的内置功能,如:高级筛选“筛选不重复的记录”(2003版)和数据菜单中的“删除重复项”(2007版)。Excel中的这些内置功能虽然操作简便、快捷,但操作步骤繁多,很多时候还需要增加辅助列,不像用公式那样一个公式往下一拖就“OK”那样爽,不能满足广大公式、函数爱好者的需求。这里是一些从网上收集的经典之作,贴出来与大家共同分享。

一、INDEX—MATCH=ROW法

=INDEX(A:A,SMALL(IF(MATCH($A$2:$A$11,$A$2:$A$11,0)=ROW($A$2:$A$11)-1,ROW ($2:$11),4^8),ROW(1:1)))&""

分析:

1、对A列中的每一项利用MATCH函数找出其在A列中首次出现的位置,返回相应的行号。超出列表范围时将返回一个较大的行号,如65536。

2、利用SMALL函数对这些行号数据由小到大排序。

3、利用INDEX函数返回与查找到的行号相应的A列的值。

4、用A列的值与””连接作为最终的值,当行号足够大时,对应的A列单元格为空单元格,空单元格与""连接,依然是空单元格。

最终结果,从A列筛选出的没有重复数据的单元格排在表格的上半部分,下半部分为空单元格,正是我们想要的效果。

2010-11-23 15:32

2楼二、COUNTIF法

这种解法看着有点怪异,一般人是想不到的,除非你是二般人。说它怪,怪在哪儿呢?怪就怪在它的着眼点让人匪夷所思,如图所示:

1、要查找A列中不重复的数据,一般人都会首先考虑怎样处理A列中的数据,其它无关的或空白区域是不会上眼的。这种解法的独到之处就是首先在一空白列处查找A列中的数据,如果找不到就返回该数据所在的行号,否则返回一个较大的值65536。

2、用MIN函数据找到A列中的数据首次出现的行号。

3、用INDEX函数在空白列处返回对应的A列中的值。

2010-12-02 08:33

3楼三、FREQUENCY法(仅适用于数值)

=INDEX(A:A,SMALL(IF(FREQUENCY($A$2:$A$11,$A$2:$A$11),ROW($A$2:$A$11),4^8), ROW(1:1)))&""

1、用FREQUENCY函数判断A列中的每一个数据是否在A列中出现一次,如果仅出现一次就返回当前行号,否则返回一个较大的数65536。

2、用SMALL函数对返回的行号从由小到大排序。

3、用INDEX函数返回对应的A列中的值。

2010-12-02 08:58

4楼四、COUNTIF法2

=IF(COUNTIF($A$2:A2,A2)>1,"",A2)

一、利用函数COUNTIF统计A列中的数据是否大于1,如果大于1,返回空值,否则返回当前值。

二、对生成的数据排序以清除空白单元格。

2010-12-04 10:29

5楼统计一列中不重复项的个数(重复的保留一项)。

公式一:

=SUM(1/countif(A1:A10,A1:A10))

按Ctrl+Shift+回车键结束

公式二:

=COUNT(0/(MATCH(A1:A10,A1:A10)=ROW(1:10)))

按Ctrl+Shift+回车键结束

公式三:

=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))

统计一列中不重复项的个数(重复的不统计)。

公式一:

=COUNT(0/(COUNTIF(A1:A10,A1:A10)=1))

按Ctrl+Shift+回车键结束

公式二:

=SUM(N(COUNTIF(A1:A10,A1:A10)=1))

按Ctrl+Shift+回车键结束

公式三:

=SUM(INT(1/COUNTIF(A1:A10,A1:A10)))

按Ctrl+Shift+回车键结束

Excel2007如何将两张表格的相同项显示在一起

浏览次数:714次悬赏分:0 |提问时间:2010-5-14 12:14 |提问者:云涛雪海

推荐答案

LZ的意思是将两张表格合成一个还是提取出来相同的就可以?

如果是合成一起的话比较简单,你把他们考到一张表里面,然后通过筛选的方式排序一下就可以了。

如果是提取出相同的话,需要些一些宏来实现,比较麻烦。

不过可以在一张表格中查找是否在另一张表格中有相同的内容,然后标记出来。公式如下:IF(ISERROR(MATCH(A2,Sheet1!A:A,0)),"false",INDIRECT("Sheet1!B"&MATCH(A2,She et1!A:A,0)))

主要是将后面的那张表中相同的东西显示过来。

具体的方法可以看看帮助。

相关主题
文本预览
相关文档 最新文档