前不久有网友求教,要求找出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后下拉至所有单元格。
注,办公群:185219299