Q:如下圖1所示,在工作表列A中有很多數(shù)據(jù)(為方便表述,示例中只放置了9個(gè)數(shù)據(jù)),這些數(shù)據(jù)中有很多重復(fù)數(shù)據(jù),我想得到重復(fù)次數(shù)最多的數(shù)據(jù)是那個(gè),示例中可以看出是“Excel”重復(fù)的次數(shù)最多,如何獲得這個(gè)數(shù)據(jù)?

圖1
A:可以使用一個(gè)數(shù)組公式:
=INDEX($A$1:$A$9,MODE(MATCH($A$1:$A$9,$A$1:$A$9,0)))
注意,數(shù)組公式是在公式輸入完后,同時(shí)按下Ctrl+Shift+Enter組合鍵,Excel會(huì)自動(dòng)在公式兩側(cè)加上花括號(hào)。
在上面的公式中:
MATCH($A$1:$A$9,$A$1:$A$9,0)
在單元格區(qū)域A1:A9中依次分別查找A1至A9單元格中的數(shù)據(jù),得到這些數(shù)據(jù)第1次出現(xiàn)時(shí)所在的行號(hào),從而形成一個(gè)由該區(qū)域所有數(shù)據(jù)第一次出現(xiàn)的行號(hào)組組成的數(shù)字?jǐn)?shù)組。
MODE函數(shù)從上面的數(shù)組中得到出現(xiàn)最多的1個(gè)數(shù)字,也就是重復(fù)次數(shù)最多的數(shù)據(jù)在單元格區(qū)域所在的行。將這個(gè)數(shù)字作為INDEX函數(shù)的參數(shù),得到想應(yīng)的數(shù)據(jù)值。
有興趣的朋友可以使用“公式求值”功能一步步查看數(shù)組公式的實(shí)現(xiàn)過(guò)程,來(lái)理解這個(gè)數(shù)組公式原理。
如果將單元格區(qū)域命名為MyRange,那么上述數(shù)組公式可寫(xiě)為:
=INDEX(MyRange,MODE(MATCH(MyRange,MyRange,0)))
但是,如果單元格區(qū)域中有幾個(gè)數(shù)據(jù)重復(fù)次數(shù)相同且都出現(xiàn)次數(shù)最多,則上述公式只會(huì)獲取第1個(gè)數(shù)據(jù),其他的數(shù)據(jù)怎么得到呢?






