一、不一樣的序號(hào)
如下圖所示,要在A列按部門輸入序號(hào),不同部門的序號(hào)從1開始。
在A2單元格輸入公式,向下復(fù)制:
=COUNTIF(B$2:B2,B2)
COUNTIF函數(shù)的統(tǒng)計(jì)區(qū)域是B$2:B2,第一個(gè)B2是行絕對(duì)引用,第二個(gè)B2,是相對(duì)引用。當(dāng)公式向下復(fù)制時(shí),就會(huì)變成B$2:B3、B$2:B4……一個(gè)不斷擴(kuò)展的區(qū)域,從這個(gè)動(dòng)態(tài)區(qū)域中統(tǒng)計(jì)B列部門的個(gè)數(shù)。
二、計(jì)算不重復(fù)的人數(shù)
如下圖所示,要計(jì)算C列不重復(fù)的人數(shù)。
公式為:
=SUMPRODUCT(1/COUNTIF(A2:A14,A2:A14))
這是一個(gè)十分常用的統(tǒng)計(jì)不重復(fù)數(shù)據(jù)個(gè)數(shù)的公式,其中包含了一個(gè)簡(jiǎn)單的數(shù)學(xué)邏輯:
任意一個(gè)數(shù)據(jù)重復(fù)出現(xiàn)N次,N個(gè)1/N的和值為1。
公式中“COUNTIF(A2:A14,A2:A14)”部分是數(shù)組計(jì)算,作用是分別統(tǒng)計(jì)A2:A14單元格區(qū)域中每個(gè)元素出現(xiàn)的次數(shù)。
運(yùn)算過(guò)程相當(dāng)于:
=COUNTIF(A2:A14,A2)
=COUNTIF(A2:A14,A3)
……
=COUNTIF(A2:A14,A14)
返回內(nèi)存數(shù)組結(jié)果為:
{2;2;2;2;2;2;2;2;2;2;1;1;1}
再使用1除以返回的內(nèi)存數(shù)組,得到以下結(jié)果:
{0.5;0.5;0.5……;1;1;1}
用1除,即相當(dāng)于計(jì)算COUNTIF函數(shù)所返回內(nèi)存數(shù)組的倒數(shù)。
為便于理解,把這一步的結(jié)果中的小數(shù)部分使用分?jǐn)?shù)代替,結(jié)果為:
{1/2;1/2;1/2;1/2;……;1;1;1}
如果單元格的值在區(qū)域中是唯一值,這一步的結(jié)果是1。
如果重復(fù)出現(xiàn)兩次,這一步的結(jié)果就有兩個(gè)1/2。
如果單元格的值在區(qū)域中重復(fù)出現(xiàn)3次,結(jié)果就有3個(gè)1/3…
即每個(gè)元素對(duì)應(yīng)的倒數(shù)合計(jì)起來(lái)結(jié)果仍是1。
最后用SUMPRODUCT函數(shù)求和,得出不重復(fù)的人員總數(shù)。
三、提取不重復(fù)名單
如下圖所示,要提取C列不重復(fù)的名單。
公式為:
=INDEX(C:C,1+MATCH(0,COUNTIF(E$1:E1,C$2:C$15),0))&””
注意是數(shù)組公式,編輯完成后,要按Ctrl+Shift+回車。
首先利用COUNTIF函數(shù),在公式所在位置上方的單元格區(qū)域中,分別查找C$2:C$15單元格區(qū)域每個(gè)數(shù)據(jù)的個(gè)數(shù)。返回一個(gè)由0和1構(gòu)成的數(shù)組,如果C$2:C$15單元格區(qū)域的元素在公式上方出現(xiàn)過(guò),結(jié)果就是1;如果沒出現(xiàn),結(jié)果就是0。
和第一個(gè)例子里一樣,COUNTIF函數(shù)的第一參數(shù)是一個(gè)擴(kuò)展的區(qū)域,公式的提取結(jié)果會(huì)被重復(fù)利用。
再利用MATCH函數(shù),在COUNTIF函數(shù)返回的數(shù)組中查找第一個(gè)0的位置,也就是查找首次出現(xiàn)的數(shù)據(jù)所在的位置。
由于數(shù)據(jù)表的標(biāo)題行占了1行,將這個(gè)數(shù)字加1,就是需要提取的不重復(fù)數(shù)據(jù)在數(shù)據(jù)表中列的位置。
再利用INDEX函數(shù),以MATCH函數(shù)的計(jì)算結(jié)果作為索引值,提取C列對(duì)應(yīng)位置上的數(shù)據(jù)。
這個(gè)函數(shù)從最后開始往上看,比較容易理解一些哦。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。