一、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 列中的每一項(xiàng)利用 MATCH 函數(shù)找出其在 A 列中首次出現(xiàn)的位置,返回相應(yīng)的行 號。超出列表范圍時將返回一個較大的行號,如 65536。 2、利用 SMALL 函數(shù)對這些行號數(shù)據(jù)由小到大排序。 3、利用 INDEX 函數(shù)返回與查找到的行號相應(yīng)的 A 列的值。 4、用 A 列的值與””連接作為最終的值,當(dāng)行號足夠大時,對應(yīng)的 A 列單元格為空單元格, 空單元格與""連接,依然是空單元格。 最終結(jié)果,從 A 列篩選出的沒有重復(fù)數(shù)據(jù)的單元格排在表格的上半部分,下半部分為空單 元格,正是我們想要的效果。 二、COUNTIF 法=INDEX(A:A,MIN(IF(COUNTIF($C$1:C1,$A$2:$A$160)=0,ROW($A$2:$A$160),4^8)))&""(C2開始輸入公式)這種解法看著有點(diǎn)怪異,一般人是想不到的,除非你是二般人。說它怪,怪在哪兒呢?怪就 怪在它的著眼點(diǎn)讓人匪夷所思: 1、要查找 A 列中不重復(fù)的數(shù)據(jù),一般人都會首先考慮怎樣處理 A 列中的數(shù)據(jù),其它無關(guān)的 或空白區(qū)域是不會上眼的。這種解法的獨(dú)到之處就是首先在一空白列處查找 A 列中的數(shù)據(jù), 如果找不到就返回該數(shù)據(jù)所在的行號,否則返回一個較大的值 65536。 2、用 MIN 函數(shù)據(jù)找到 A 列中的數(shù)據(jù)首次出現(xiàn)的行號。 3、用 INDEX 函數(shù)在空白列處返回對應(yīng)的 A 列中的值。 三、FREQUENCY 法(僅適用于數(shù)值)=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 函數(shù)判斷 A 列中的每一個數(shù)據(jù)是否在 A 列中出現(xiàn)一次,如果僅出現(xiàn)一 次就返回當(dāng)前行號,否則返回一個較大的數(shù) 65536。 2、用 SMALL 函數(shù)對返回的行號從由小到大排序。 3、用 INDEX 函數(shù)返回對應(yīng)的 A 列中的值。 四、COUNTIF 法=IF(COUNTIF($A$2:A2,A2)>1,"",A2) 1、利用函數(shù) COUNTIF 統(tǒng)計(jì) A 列中的數(shù)據(jù)是否大于 1,如果大于 1,返回空值,否則返回 當(dāng)前值。 2、對生成的數(shù)據(jù)排序以清除空白單元格。 五、其它方法。 公式一:=SUM(1/countif(A1:A10,A1:A10)) 按 Ctrl+Shift+回車鍵結(jié)束 公式二:=COUNT(0/(MATCH(A1:A10,A1:A10)=ROW(1:10))) 按 Ctrl+Shift+回車鍵結(jié)束 公式三:=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10)) 公式四:=COUNT(0/(COUNTIF(A1:A10,A1:A10)=1)) 按 Ctrl+Shift+回車鍵結(jié)束 公式五:=SUM(N(COUNTIF(A1:A10,A1:A10)=1)) 按 Ctrl+Shift+回車鍵結(jié)束 公式六:=SUM(INT(1/COUNTIF(A1:A10,A1:A10)))按 Ctrl+Shift+回車鍵結(jié)束 |
|