使用公式確定指定的單元格區(qū)域中是否有重復值。如下圖所示的工作表單元格區(qū)域A1:A9,我們將其命名為Data。
如果區(qū)域Data中有重復值,則返回False;如果區(qū)域Data中的值都不一樣,則返回True。上圖所示的區(qū)域Data中明顯有多個重復值,因此應該返回False。
先不看下面的答案,自已動手試試。
公式思路
將區(qū)域Data中的每個值依次與區(qū)域中的所有值進行比較并統(tǒng)計與其相同的值的個數(shù),由這些統(tǒng)計數(shù)組成一組數(shù),如果這組數(shù)都由1組成,表明區(qū)域中的每個值都與其它值不同,即沒有重復值,否則有重復值。
公式解析
使用下面的數(shù)組公式來判斷單元格區(qū)域中是否有重復值:
=MAX(COUNTIF(Data,Data))=1
在單元格中輸入公式后按Ctrl+Shift+Enter組合鍵,如下圖所示。
COUNTIF(Data,Data)展開來就是COUNTIF({1;5;6;8;5;1;6;1;8},{1;5;6;8;5;1;6;1;8})。首先測試COUNTIF({1;5;6;8;5;1;6;1;8},1),統(tǒng)計1在單元格區(qū)域Data中的次數(shù),得到3;接著測試COUNTIF({1;5;6;8;5;1;6;1;8},5),統(tǒng)計5在單元格區(qū)域Data中的次數(shù),得到2;……依此類推。最后,COUNTIF(Data,Data)得到的結果是{3;2;2;2;2;3;2;3;2}。這個結果作為MAX函數(shù)的參數(shù),得到數(shù)組中的最大值為3,不等于1,因此最終的結果是FALSE,表明單元格區(qū)域Data中有重復值。
小結
仔細體味這個公式,很有意思的是使用兩個相同值作為參數(shù)進行比較統(tǒng)計。讓我能感覺到Excel公式是多么的巧妙!!!