至近至遠(yuǎn)東西精肃,至深至淺清溪。至高至明日月帜乞,至親至疏夫妻司抱。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -《八至》唐.李冶
首先有個(gè)問題問下小伙伴們,在Excel中當(dāng)我們需要對(duì)一列數(shù)據(jù)進(jìn)行統(tǒng)計(jì)不重復(fù)的內(nèi)容時(shí)黎烈,你會(huì)怎么操作呢习柠?
如果沒猜錯(cuò)的話,應(yīng)該是以下這兩種方法
方法一:刪除重復(fù)項(xiàng)
點(diǎn)擊菜單欄中的【數(shù)據(jù)】-【刪除重復(fù)項(xiàng)】照棋,刪除重復(fù)值
方法二:使用數(shù)據(jù)透視表
選中需篩選的數(shù)據(jù)资溃,點(diǎn)擊【插入】-【數(shù)據(jù)透視表】,然后把對(duì)應(yīng)數(shù)據(jù)列表頭拉入行中烈炭,實(shí)現(xiàn)篩選
今天給大家介紹的是使用公式實(shí)現(xiàn)數(shù)據(jù)刪除重復(fù)值溶锭,重點(diǎn)是可以跟隨原始數(shù)據(jù),實(shí)時(shí)更新
先給大家演示下效果:
可以看出符隙,篩選出的數(shù)據(jù)和其他方式得出的數(shù)據(jù)一致趴捅,且當(dāng)我們對(duì)原始的人名進(jìn)行修改的時(shí)候,可以看到不重復(fù)的人員這一列人名也跟著變動(dòng)了
先給大家看下C2單元格的公式:
=IFERROR(INDEX($A$2:$A$15,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$15),0),1),"")
公式詳解:
首先可以看出膏执,這個(gè)公式主要用到了下面4個(gè)函數(shù)
IFERROR驻售,INDEX,MATCH更米,COUNTIF
為了方便理解欺栗,下面逐個(gè)給大家分析下。
COUNTIF函數(shù)
我們知道COUNTIF函數(shù)是用來進(jìn)行計(jì)數(shù)統(tǒng)計(jì)的征峦,語法結(jié)構(gòu)
COUNTIF(range迟几,criteria)
Range:?要計(jì)算其中非空單元格數(shù)目的區(qū)域
Criteria:?以數(shù)字、表達(dá)式或文本形式定義的條件
我們經(jīng)常用到的是查找一個(gè)內(nèi)容栏笆,在目標(biāo)區(qū)域出現(xiàn)的次數(shù)类腮,就像下面這樣統(tǒng)計(jì)趙云在A列出現(xiàn)的次數(shù)
看我們的公式:
COUNTIF($C$1:C1,$A$2:$A$15)
可以看出第一個(gè)參數(shù)C1是絕對(duì)引用的,第二個(gè)C1是相對(duì)引用蛉加,即隨著我們下拉單元格蚜枢,Range區(qū)域是隨之變更缸逃,C1:C2,C1:C3...
又可以看出Range和Criteria都是一個(gè)數(shù)據(jù)區(qū)域厂抽,含義是什么呢需频?
代表通過Countif函數(shù)依次統(tǒng)計(jì)A2:A15,每個(gè)單元格內(nèi)容在C1:C1出現(xiàn)的次數(shù)
當(dāng)我們的Range是一個(gè)區(qū)域或者一個(gè)值的時(shí)候筷凤,Criteria是區(qū)域的時(shí)候昭殉,查找的結(jié)果返回的是一組數(shù)組
就像上面Countif的Range是C1(趙云),Criteria是A2:A15藐守,即當(dāng)Criteria是A2挪丢,A5,A9時(shí),返回結(jié)果為1卢厂;當(dāng)Criteria不是這幾個(gè)單元格內(nèi)容時(shí)乾蓬,返回的結(jié)果都是0,
其實(shí)我們的公式就是代表以下這些公式的結(jié)果合集:
Countif(C1,A2);Countif(C1,A3);Countif(C1,A4)...
D2輸入公式:
=countif(C1,A2:A15)
最終返回的結(jié)果是:
再演示下足淆,如果C1和C2都是趙云巢块,會(huì)出現(xiàn)什么結(jié)果
D3輸入公式:
=countif(C1:C2,A2:A15)
計(jì)算步驟同樣是公式的結(jié)果合集
Countif(C1:C2,A2);Countif(C1:C2,A3);Countif(C1:C2,A4)...
最終結(jié)果是:
所以我們使用的公式輸出的結(jié)果就是一列數(shù)組,比如我們?cè)贑2輸入:趙云巧号,再在C3使用公式:
=COUNTIF($C$1:C3,$A$2:$A$15)
返回的數(shù)組就是如下樣式的:
MATCH函數(shù)
接著我們看Match函數(shù)族奢,Match函數(shù)語法為
MATCH(lookup_value, lookup_array, [match_type])
lookup_value:必需參數(shù),需要在 lookup_array 中查找的值丹鸿,比如可以是數(shù)字也可以是文本越走,比如"0","趙云",或者是單元格
lookup_array:必需參數(shù)靠欢,要搜索的單元格區(qū)域廊敌。
match_type:可選參數(shù),數(shù)字 -1门怪、0 或 1骡澈。1代表會(huì)查找小于或等于lookup_value 的最大值,0代表等于 lookup_value 的第一個(gè)值掷空,-1代表大于或等于?lookup_value?的最小值
我們看公式:
MATCH(0,COUNTIF($C$1:C1,$A$2:$A$15),0)
能看出Lookup_value為0肋殴,lookup_array為
COUNTIF($C$1:C1,$A$2:$A$15),match_type為0坦弟,代表查找到的第一個(gè)值
為什么lookup_vlaue為0呢护锤,?我們?cè)倏瓷厦娼榻B的Countif函數(shù),當(dāng)我們查找值的內(nèi)容(A列的值)不在Range(C列提取值)范圍時(shí)酿傍,得到的結(jié)果是不是0烙懦,第一個(gè)0的出現(xiàn)是不是就代表的新出現(xiàn)一個(gè)不在查找區(qū)域的值,即我們需要篩選的數(shù)據(jù)內(nèi)的不重復(fù)的值
此時(shí)我們用Match函數(shù)查找第一個(gè)0在數(shù)組的位置赤炒,即得到了新的不重復(fù)的值在原始數(shù)據(jù)第幾行了
INDEX函數(shù)
Index函數(shù)的語法結(jié)構(gòu)是這樣的:
INDEX(array, row_num, [column_num])氯析,通過行列的內(nèi)容返回?cái)?shù)組里的具體內(nèi)容
Array:必需亏较。單元格區(qū)域或數(shù)組常量。
如果數(shù)組只包含一行或一列魄鸦,則相對(duì)應(yīng)的參數(shù) row_num 或?column_num 為可選參數(shù)宴杀,我們現(xiàn)在只有一列,所以column_num是可選參數(shù)
Row_num:必需拾因。選擇數(shù)組中的某行,函數(shù)從該行返回?cái)?shù)值旷余。如果省略 row_num绢记,則必須有 column_num。
Column_num:可選正卧。選擇數(shù)組中的某列蠢熄,函數(shù)從該列返回?cái)?shù)值。如果省略 column_num炉旷,則必須有 row_num签孔。
看我們的公式:
INDEX($A$2:$A$15,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$15),0),1)
其中Array為A2:A15,Row_num為Match函數(shù)輸出的結(jié)果窘行,Column_num為1饥追,即查第Match結(jié)果行,第1列罐盔,在數(shù)據(jù)區(qū)域A2:A15的值
最終即得到我們需要的結(jié)果
IFERROR
IFERROR函數(shù)是用來判斷計(jì)算公式是否正確的一個(gè)函數(shù)但绕,如果公式正確返回公式的值,如果不正確返回設(shè)定的值惶看,我們?cè)O(shè)定的結(jié)果是空值
IFERROR(value,?value_if_error)
其中Value值是必需的捏顺,檢查是否存在錯(cuò)誤的值
?value_if_error也是必須的,當(dāng)Vlaue公式的計(jì)算結(jié)果為錯(cuò)誤時(shí)要返回的值纬黎。
錯(cuò)誤類型有:#N/A幅骄、#VALUE!、#REF!本今、#DIV/0!拆座、#NUM!、#NAME? 或 #NULL!诈泼。
總結(jié)
整個(gè)公式懂拾,比較難理解的是COUNTIF函數(shù)的那塊,大家可以多多練習(xí)下铐达,多試驗(yàn)幾次就能幫助我們更好的理解了岖赋,另外注意因?yàn)檫@是數(shù)組公式,輸入完成后瓮孙,我們需要按CTR+Shift+Enter鍵結(jié)束公式唐断。
如果覺得文章對(duì)你有幫助的話选脊,希望大家?guī)兔c(diǎn)贊加分享哦~,謝謝
本文由彩虹Excel原創(chuàng)脸甘,歡迎關(guān)注恳啥,帶你一起長(zhǎng)知識(shí)!