用公式查找Excel工作表中重复数据

2/6/2009来源:Excel教程人气:16458

前不久,一位网友求教,要求找出Excel工作表中的重复数据并在单元格中列出。我给出了一个数组公式供参考,但不是太符合要求,因为这个数组公式虽然找出了重复数据,但是如果将数组公式向下复制时超出了出现重复数据的数量,会在相应单元格中显示错误。不久,这位朋友获得了更好的一个公式。这个公式非常好,很好地解决了这类问题,供有兴趣的朋友参考。


    在列A和列B中存在一系列数据(表中只是示例,可能数据还有很多),要求找出某人(即列A中的姓名)所对应的所有培训记录(即列B中的数据)。也就是说,在单元格E1中输入某人的姓名后,下面会自动显示这个人所有的培训记录。

    我们知道,Excel的LOOKUP系列的函数能够很方便地实现查找,但是对于查找后返回一系列的结果,这类函数无能为力,因此只能联合其它函数来实现。

    这里,在方法一中使用了INDEX函数、SMALL函数、IF函数和ROW函数,在方法二中还使用了Excel 2007中新增的IFERROR函数。

    方法一:

    1、选择单元格E3;

    2、输入公式:=INDEX(B:B,SMALL(IF($A$2:$A$25=$E$1,ROW($A$2:$A$25),65536),ROW(1:1))) & “”,然后同时按下Ctrl+Shift+Enter键,即输入数组公式。

    3、选择单元格E3后下拉至所有单元格。

    方法二:

    1、选择单元格F3;

    2、输入公式:=IFERROR(INDEX($A$2:$B$9,SMALL(IF($A$2:$A$9=$E$1,ROW($A$2:$A$9)-ROW($A$2)+1,ROW($A$9)+1),ROW(1:1)),2),”"),然后同时按下Ctrl+Shift+Enter键,即输入数组公式。

    3、选择单元格F3后下拉至所有单元格。