前不久有網(wǎng)友求教,要求找出Excel工作表中的重復(fù)數(shù)據(jù),列在單元格中。我給出一個(gè)數(shù)組公式供參考,但是不太符合要求,因?yàn)檫@個(gè)數(shù)組公式雖然找出了重復(fù)數(shù)據(jù),但是如果數(shù)組公式復(fù)制下來,超過了重復(fù)數(shù)據(jù)的個(gè)數(shù),對(duì)應(yīng)的單元格就會(huì)顯示錯(cuò)誤。很快,這位朋友得到了更好的配方。這個(gè)公式很好,很好的解決了這類問題,供感興趣的朋友參考。
在列A和列B中存在一系列數(shù)據(jù)(表中只是示例,可能數(shù)據(jù)還有很多),要求找出某人(即列A中的姓名)所對(duì)應(yīng)的所有培訓(xùn)記錄(即列B中的數(shù)據(jù))。也就是說,在單元格E1中輸入某人的姓名后,下面會(huì)自動(dòng)顯示這個(gè)人所有的培訓(xùn)記錄。
我們知道,Excel的LOOKUP系列的函數(shù)能夠很方便地實(shí)現(xiàn)查找,但是對(duì)于查找后返回一系列的結(jié)果,這類函數(shù)無能為力,因此只能聯(lián)合其它函數(shù)來實(shí)現(xiàn)。
這里,在方法一中使用了INDEX函數(shù)、SMALL函數(shù)、IF函數(shù)和ROW函數(shù),在方法二中還使用了Excel 2007中新增的IFERROR函數(shù)。
方法一:
1、選擇單元格E3;
2、輸入公式:=INDEX(B:B,SMALL(IF($A$2:$A$25=$E$1,ROW($A$2:$A$25),65536),ROW(1:1))) & “”,然后同時(shí)按下Ctrl+Shift+Enter鍵,即輸入數(shù)組公式。
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),””),然后同時(shí)按下Ctrl+Shift+Enter鍵,即輸入數(shù)組公式。
3、選擇單元格F3后下拉至所有單元格。
注,辦公群:185219299