Excel常用统计分析函数分享
文章目錄
- 1 平均值計算
- 1.1 無條件平均值計算:AVERAGE
- 1.2 單一條件下的平均值計算:AVERAGEIF
- 1.3 多條件下的平均值計算:AVERAGEIFS
- 2 按指定條件計數(shù)
- 2.1 條件判斷介紹
- 2.2 單字段多條件計數(shù)
- 2.3 多字段多條件計數(shù)
- 3 認識COUNTA與COUNTBLANK函數(shù)
- 3.1 檢查數(shù)據(jù)填寫的完整性
- 3.2 空與非空的判斷
- 4 應(yīng)用SUMPRODUCT函數(shù)計算
- 4.1 應(yīng)用SUMPRODUCT函數(shù)進行多條件求和計算
- 4.2 應(yīng)用SUMPRODUCT函數(shù)進行多條件計數(shù)計算
- 4.3 應(yīng)用SUMPRODUCT函數(shù)進行排序
- 5 按指定條件求和
- 5.1 單字段多條件求和
- 5.2 多字段多條件求和
- 5.3 二維區(qū)域條件求和
- 6 FREQUENCY函數(shù)技巧二則
- 6.1 認識FREQUENCY函數(shù)
- 6.2 分段統(tǒng)計數(shù)值結(jié)果
- 6.3 計算連續(xù)相同值的最多個數(shù)
- 7 RANK函數(shù)
- 7.1 使用RANK函數(shù)對學(xué)生成績排名
- 7.2 認識RANK.EQ函數(shù)和RANK.AVG函數(shù)
- 8 計算百分位排名
- 9 剔除極值,計算平均得分
- 10 眾數(shù)的妙用
1 平均值計算
1.1 無條件平均值計算:AVERAGE
通常我們習(xí)慣直接使用AVERAGE函數(shù)進行數(shù)據(jù)的平均值計算,其實該函數(shù)可以與其他函數(shù)組合運用,來滿足更復(fù)雜的平均值計算。
實例:如圖數(shù)據(jù)所示,要求在不進行排序的情況下計算出銷量前5名銷售的平均銷量。
思路解析:在B16單元格輸入數(shù)組公式:{=AVERAGE(LARGE(B3:B13,ROW(1:5)))},公式先利用LARGE函數(shù)求得銷量前5名銷售的銷量數(shù)組,再用AVERAGE函數(shù)求出平均值。
涉及的函數(shù):ROW、LARGE、AVERAGE
思考:如果需求改為“要求在不進行排序的情況下計算出銷量末尾5名銷售的平均銷量”,該如何實現(xiàn)?
答案:在B19單元格輸入數(shù)組公式:{=AVERAGE(SMALL(B3:B13,ROW(1:5)))},該公式和上述公式類似,只是將large函數(shù)換成了small函數(shù)。
注意:需按Ctrl+Shift+Enter三鍵輸入數(shù)組公式,才能得到想要的結(jié)果。
1.2 單一條件下的平均值計算:AVERAGEIF
AVERAGEIF函數(shù):AVERAGEIF(條件區(qū)域,條件,[求平均值區(qū)域])
下面數(shù)據(jù)是一份銷售報表,由于星期六、星期日為休息日,無銷售額發(fā)生,因此金額欄中的值為0(用“-”代替)。
需求1:分別計算星期一至星期五的平均銷售額,用于分析星期一至星期五的平均銷售額變動情況。
思路:在N4單元格輸入公式:=AVERAGEIF($H$3:$H$30,M4,$I$3:$I$30),然后向下填充公式,公式以具體星期作為條件,使用AVERAGEIF函數(shù)計算平均值。
思考:如果上述問題使用AVERAGE函數(shù)實現(xiàn),要怎么做?
答案:在O4單元格輸入數(shù)組公式:{=AVERAGE(IF($H$3:$H$30=M4,$I$3:$I$30))},然后向下填充公式,公式結(jié)合IF函數(shù)用邏輯判斷H3到H30單元格區(qū)域的內(nèi)容是否與M4單元格的內(nèi)容相等,然后返回I3到I30單元格區(qū)域中屬于M4單元格的值,最后用AVERAGE函數(shù)求平均值。
需求2:計算2014年5月1日至28日之間有效工作日的日均銷售額。
思路:在N12單元格輸入公式:=AVERAGEIF(I3:I30,">0"),這里的有效工作日是指非周六周日,因此只需要計算金額列非0單元格的平均值即可。
注意:當(dāng)AVERAGEIF函數(shù)省略第三參數(shù)時,將使用第一參數(shù)同時作為條件判斷與數(shù)值計算的區(qū)域。
1.3 多條件下的平均值計算:AVERAGEIFS
AVERAGEIF函數(shù):AVERAGEIFS(求平均值區(qū)域,條件區(qū)域1,條件1,[條件區(qū)域2,條件2],[條件區(qū)域3,條件3],……)
需求3:沿用1.2的數(shù)據(jù),要求計算中旬有效工作日的平均銷售額。
思路:該需求有兩個條件,一個是中旬(即11日至20日),一個是有效工作日(即金額列非0的單元格),因此在N16單元格輸入公式:=AVERAGEIFS(I3:I30,G3:G30,">=2014年5月11日",G3:G30,"<=2014年5月20日",I3:I30,">0")。
注意:AVERAGEIFS函數(shù)的條件區(qū)域和條件值組成一組條件參數(shù),最多允許設(shè)置127組條件參數(shù)(一般不會設(shè)置這么多條件)。
2 按指定條件計數(shù)
2.1 條件判斷介紹
COUNTIF函數(shù)和COUNTIFS函數(shù)可以統(tǒng)計滿足一定條件的單元格個數(shù),條件參數(shù)中可以使用比較運算符和通配符。上面展示了COUNTIF函數(shù)常用的公式用法,這些公式同樣適用于COUNTIFS函數(shù),在僅有一個條件參數(shù)的情況下,兩者的運算結(jié)果完全相同。
設(shè)置COUNTIF函數(shù)或COUNTIFS函數(shù)的條件參數(shù)時,需要注意以下一些情況:
- 判斷條件 “<>”:這個條件參數(shù)表示不等于 ”真空”,“真空”表示單元格內(nèi)沒有任何數(shù)據(jù),是真正的空單元格,設(shè)置這個判斷條件可統(tǒng)計非真空單元格的個數(shù);
- 判斷條件 “><”:這個條件參數(shù)僅表示統(tǒng)計大于 “<”符號的文本,注意區(qū)分 “<>”和 “><”的區(qū)別;
- 判斷條件 “=”:這個條件參數(shù)表示等于 “真空”,可用于統(tǒng)計真正空單元格的個數(shù);
- 判斷條件“”:這個條件參數(shù)表示包含真空單元格及空文本,其中的 “空文本”一般是指由公式計算得到的結(jié)果;
- 判斷條件 “*”:這個條件參數(shù)代表所有文本,包括空格以及空文本,但不包含真空單元格,也不包含數(shù)值、邏輯值、錯誤值等數(shù)據(jù)單元格;
- 判斷條件 “<>”””:這個條件參數(shù)的含義并不代表“不等于空文本”,而僅僅只表示不等于單個雙引號 (“ );
- 判斷條件 “?*”:這個條件參數(shù)表示統(tǒng)計所有單元格長度不為0的文本單元
2.2 單字段多條件計數(shù)
數(shù)據(jù):
需求1:統(tǒng)計銷售量大于等于1000且小于1300的記錄個數(shù)。
思路:該需求屬于單個字段列多個條件的類型,可使用COUNTIFS函數(shù)進行統(tǒng)計,其參數(shù)中每兩個參數(shù)形成一組關(guān)聯(lián)條件區(qū)域和條件表達式(最大可以包含127組條件),因此在K15單元格輸入公式: =COUNTIFS(L2:L10,">=1000",L2:L10,"<1300") *得到結(jié)果。
擴展:上述需求除了可以用COUNTIFS函數(shù)直接統(tǒng)計外,還可以通過兩個COUNTIF函數(shù)分別統(tǒng)計再算差額,在K16單元格輸入公式:=COUNTIF(L2:L10,">=1000")-COUNTIF(L2:L10,">=1300") 得到結(jié)果;也可以在COUNTIF函數(shù)中運用數(shù)組參數(shù)作為計數(shù)條件,然后與數(shù)組相乘取得求和運算中的正負符號,最后用SUM函數(shù)求和得到差額。在K17單元格輸入公式:=SUM(COUNTIF(L2:L10,">="&{1000,1300})*{1,-1}) 得到結(jié)果。
2.3 多字段多條件計數(shù)
需求2:沿用2.2的數(shù)據(jù),統(tǒng)計工號以A或E開頭的員工的汽油銷售筆數(shù)。
思路:該需求屬于多字段(工號和商品)多條件的類型,可直接使用COUNTIFS函數(shù)實現(xiàn),分別統(tǒng)計工號以 “A”開頭的員工的“汽油”銷售筆數(shù)以及工號以 “E”開頭的員工的“汽油”銷售筆數(shù),相加即可得到結(jié)果。在K22單元格輸入公式:=COUNTIFS(J2:J10,“A*”,K2:K10,"*汽油")+COUNTIFS(J2:J10,“E*”,K2:K10,"*汽油") 得到結(jié)果。
擴展:上述需求也可以運用COUNTIFS函數(shù)對“工號”和“商品”兩個字段進行多字段多條件計數(shù),條件為模糊條件,需要運用通配符“*”代表任意字符,對于“工號”字段條件,運用數(shù)組解決邏輯“或”的關(guān)系,計算結(jié)果為數(shù)組{2,2},最后用SUM函數(shù)求和。在K23單元格輸入公式:=SUM(COUNTIFS(J2:J10,{“A*”,“E*”},K2:K10,"*汽油")) 得到結(jié)果。
3 認識COUNTA與COUNTBLANK函數(shù)
3.1 檢查數(shù)據(jù)填寫的完整性
COUNTA函數(shù)可以返回單元格區(qū)域非空單元格個數(shù);COUNTBLANK函數(shù)可以統(tǒng)計指定單元格區(qū)域中空白單元格的個數(shù)。
實例:如上表所示,固定資產(chǎn)清單中存在一些缺項,運用COUNTA和COUNTBLANK函數(shù)確認固定資產(chǎn)清單是否填寫完畢。
要求:運用COUNTA和COUNTBLANK函數(shù),從“內(nèi)容是否完整”和“是否存在空值”兩個不同的角度實現(xiàn)數(shù)據(jù)檢查的功能。
思路:
(1)用COUNTA函數(shù)統(tǒng)計當(dāng)前行中的字段填寫個數(shù),如果非空單元格個數(shù)與第二行中的標(biāo)題個數(shù)相同,則返回空值(表示已填寫完整),如果有缺項,則返回“缺項”。在K3單元格輸入公式:=IF(COUNTA(A3:I3)=COUNTA($A$2:$I$2),"",“缺項”) ,然后向下填充得到結(jié)果。
(2)用COUNTBLANK函數(shù)統(tǒng)計當(dāng)前行中是否存在空值,如果計算結(jié)果大于0,即有空值,表示填寫未完成,公式返回“缺項”,否則返回空文本。在L3單元格輸入公式:=IF(COUNTBLANK($A3:$I3),“缺項”,""),然后向下填充得到結(jié)果。
3.2 空與非空的判斷
運用COUNTA和COUNTBLANK函數(shù)進行數(shù)據(jù)統(tǒng)計時,需要注意數(shù)據(jù)表中空值和非空值的判斷。
實例:如圖所示,從表面上看,員工信息表中的性別字段均無內(nèi)容,但實際上已被設(shè)置了6種真假空的情況。
核查思路:
(1)用COUNTA函數(shù)統(tǒng)計當(dāng)前行中的字段填寫個數(shù),如果非空單元格的個數(shù)為4,則返回空值(表示已填寫完整),如果有缺項,則返回“缺項”。在U3單元格輸入公式:=IF(COUNTA($O3:$R3)=4,"",“缺項”) ,然后向下填充得到結(jié)果。
(2)用COUNTBLANK函數(shù)統(tǒng)計當(dāng)前行中是否存在空值,如果計算結(jié)果大于0,即有空值,表示填寫未完成,公式返回“缺項”,否則返回空文本。在V3單元格輸入公式:=IF(COUNTBLANK($O3:$R3),“缺項”,""),然后向下填充得到結(jié)果。
注意:
(1)COUNTA函數(shù)返回包含文本、假空單元格、邏輯值或錯誤值的結(jié)果,只有真空單元格不被計數(shù),其參數(shù)可以是引用,也可以內(nèi)存數(shù)組(指按Ctrl+shift+enter得到的結(jié)果)。
(2)而COUNTBLANK函數(shù)則返回單元格區(qū)域中單元格為空單元格或公式計算結(jié)果為空文本的個數(shù),其參數(shù)只能是單元格引用,不能是內(nèi)存數(shù)組。
4 應(yīng)用SUMPRODUCT函數(shù)計算
4.1 應(yīng)用SUMPRODUCT函數(shù)進行多條件求和計算
SUMPRODUCT函數(shù)將給定的幾組數(shù)組中數(shù)組間對應(yīng)的元素相乘,并返回乘積之和。利用這一特性,可以用該函數(shù)進行多條件求和、計數(shù)以及其他相關(guān)的數(shù)值計算。
數(shù)據(jù):
需求1:根據(jù)上面數(shù)據(jù)明細,按品種、站點對“金額”進行分類匯總。
思路:
在I3單元格輸入公式:=SUMPRODUCT(($B$2:$B$24=$H3)*($C$2:$C$24=I$2),$D$2:$D$24),將公式填充至K3單元格,然后向下填充至K7單元格。
(1)構(gòu)造數(shù)組1,用于判斷數(shù)據(jù)表中的區(qū)域單元格引用是否為對應(yīng)單元格給定的油品品種;構(gòu)造數(shù)組2,用于數(shù)據(jù)表中的區(qū)域單元格引用是否為對應(yīng)單元格給定的站點名稱。兩個數(shù)據(jù)條件相乘,數(shù)據(jù)均滿足這兩個條件時返回1,如果有一個或一個以上不滿足,則返回0。
(2)SUMPRODUCT函數(shù)將兩個條件數(shù)組乘積再與目標(biāo)計算字段“金額”所在的單元格區(qū)域進行數(shù)據(jù)相乘,并將乘積求和,得到計算結(jié)果。
注意:
(1)用SUMPRODUCT函數(shù)進行多條件計算,要求條件單元格引用區(qū)域與目標(biāo)計算字段單元格引用的數(shù)據(jù)區(qū)域大小相同。
(2)用SUMPRODUCT函數(shù)進行多條件求和計算,也可以使用如下公式:=SUMPRODUCT((條件數(shù)組1)*(條件數(shù)組2)*……*(條件數(shù)組n)*(求和數(shù)據(jù)區(qū)域))。
即多個“條件數(shù)組”與“求和數(shù)據(jù)區(qū)域”直接連乘。為了避免目標(biāo)計算字段數(shù)據(jù)中存在空格或其他文本項造成計算出現(xiàn)#VALUE!的情況,建議使用通用格式:
=SUMPRODUCT((條件數(shù)組1)*(條件數(shù)組2)*……*(條件數(shù)組n),(求和數(shù)據(jù)區(qū)域))
4.2 應(yīng)用SUMPRODUCT函數(shù)進行多條件計數(shù)計算
需求2:沿用4.1的數(shù)據(jù),統(tǒng)計0號輕柴油單筆加油量在2000以上的筆數(shù)。
思路:使用SUMPRODUCT函數(shù)計算時,如果想要得到滿足條件記錄的個數(shù),只需用多個條件數(shù)組相乘。在I12單元格輸入公式:=SUMPRODUCT(($B$2:$B$24=“0號輕柴油”)*($D$2:$D$24>=2000)) 得到結(jié)果。
4.3 應(yīng)用SUMPRODUCT函數(shù)進行排序
需求3:根據(jù)對應(yīng)日期的經(jīng)營總額進行排序
思路:
在J17輸入公式:=SUMPRODUCT(($I17<$I$17:$I$21)*1)+1 得到結(jié)果
(1)用“對應(yīng)日期的經(jīng)營總額”在“全部日期經(jīng)營總額單元格區(qū)域”中進行比較,當(dāng)“對應(yīng)日期的經(jīng)營總額”<“全部日期經(jīng)營總額單元格區(qū)域值”成立時,返回TRUE,否則返回FALSE,所以比較結(jié)果返回一個由TRUE和FALSE構(gòu)成的邏輯數(shù)組,然后將邏輯數(shù)組乘以1,得到一個由0和1構(gòu)成的新數(shù)組。
(2)SUMPRODUCT再對由0和1構(gòu)成的新數(shù)組求和,表示在“全部日期經(jīng)營總額單元格數(shù)據(jù)區(qū)域”中比“對應(yīng)日期經(jīng)營總額”大的數(shù)據(jù)個數(shù),所以“對應(yīng)日期經(jīng)營總額”在“全部日期經(jīng)營總額單元格數(shù)據(jù)區(qū)域”內(nèi)排列的位次,應(yīng)該是比“對應(yīng)日期經(jīng)營總額”大的數(shù)據(jù)個數(shù)加1。
(3)再將公式向下復(fù)制,則依次對“全部日期經(jīng)營總額單元格數(shù)據(jù)區(qū)域”中每一個數(shù)據(jù)重復(fù)進行上述判斷求和,從而排除數(shù)據(jù)區(qū)域中每一個數(shù)據(jù)的位次。如果區(qū)域中有相同的數(shù),則計算結(jié)果也是相同的,因而排出來的位次也相同。
5 按指定條件求和
5.1 單字段多條件求和
需求:根據(jù)評分表、評分規(guī)則、系數(shù)表計算出各油站的月綜合得分,以此考核油站的當(dāng)月工作情況。
思路:
在B16單元格輸入數(shù)組公式:{=SUM((B$3:B$11=A16)*SUMIF(G$3:G$6,C$3:E$11,H$3:H$6)*TRANSPOSE(H$9:H$11))} ,然后向下填充得到結(jié)果。
(1)轉(zhuǎn)換等級為對應(yīng)分值:利用SUMIF函數(shù)與COUNTIF函數(shù)類似“單字段多條件計數(shù)”的原理,使用C3:E11單元格的評分等級進行條件求和,轉(zhuǎn)換為對應(yīng)分值,計算結(jié)果為與C3:E11對應(yīng)的9行3列的數(shù)組;
(2)計算評分項目系數(shù):將SUMIF得到的評分分值乘以每個項目對應(yīng)的系數(shù),得到實際得分值。由于系數(shù)為3行1列,而SUMIF的結(jié)果為3列,因此使用TRANSPOSE函數(shù)進行轉(zhuǎn)置。
(3)條件求和:將SUMIF與系數(shù)相乘的結(jié)果再乘以加油站名稱判斷,得到對應(yīng)加油站的考評分項的分值。
(4)最后用SUM函數(shù)求和,得到對應(yīng)加油站的綜合得分。
5.2 多字段多條件求和
需求:計算7月份工號以G或P開頭的員工汽油的銷售量。
解析:該需求涉及了三個字段的條件:日期、工號、商品
思路:
在L14單元格輸入公式:=SUM(SUMIFS(N2:N10,K2:K10,IF(MONTH(K2:K10)=7,K2:K10),L2:L10,{“G*”,“P*”},M2:M10,"*汽油")) 得到結(jié)果。
公式運用SUMIFS函數(shù)進行多字段多條件求和,其中日期條件使用IF函數(shù)和MONTH函數(shù),計算得到月份為“7月”的一組數(shù)組條件,而“工號”和“商品”兩個字段條件為模糊條件,需要運用通配符“*”進行模糊匹配,對于“工號”字段條件,運用橫向數(shù)組解決邏輯“或”的關(guān)系,最后用SUM函數(shù)求和,得到數(shù)組計算結(jié)果。
注意:SUMIFS和SUMIF的參數(shù)順序不同,SUMIFS中將求和區(qū)域作為第一參數(shù),而在SUMIF中則是第三參數(shù),使用時注意區(qū)分。
5.3 二維區(qū)域條件求和
SUMIF函數(shù)除了可以在一維數(shù)據(jù)區(qū)域中進行條件求和外,還可以在二維數(shù)據(jù)表中進行條件求和。
需求1:統(tǒng)計所有“康師傅”方便面的銷售量合計。
在S15單元格輸入公式:=SUMIF(T3:Z11,“康師傅”,U3:AA11) 得到結(jié)果。
需求2:統(tǒng)計所有工號為A開頭的銷售量合計。
在S18單元格輸入公式:=SUMIF(S3:Y11,“A*”,U3:AA11) 得到結(jié)果。
思路:在條件區(qū)域中查找滿足條件的值,如在T3:Z11數(shù)據(jù)區(qū)域中查找值為“康師傅”的單元格,然后根據(jù)滿足條件值,在第三參數(shù)所指定的目標(biāo)區(qū)域中求和運算。
注意:使用SUMIF函數(shù)進行二維區(qū)域條件求和時,要求條件區(qū)域與求和區(qū)域需要尺寸相同,且相對位置要保持一一對應(yīng),這樣才能得到正確結(jié)果,否則將不能得到正確結(jié)果。
6 FREQUENCY函數(shù)技巧二則
6.1 認識FREQUENCY函數(shù)
FREQUENCY函數(shù)的作用是計算一組數(shù)據(jù)的頻率分布,該函數(shù)的語法格式如下:
FREQUENCY(data_array,bins_array)
參數(shù)說明:
- data_array:參數(shù)data_array為一數(shù)組或?qū)σ唤M數(shù)組的引用,用于計算頻率。如果data_array中不包含任何數(shù)值,函數(shù)FREQUENCY返回零數(shù)組。
- bins_array:參數(shù)bins_array為間隔的數(shù)組或?qū)﹂g隔的引用,該間隔用于對data_array中的數(shù)值進行分組。如果bins_array中不包含任何數(shù)值,函數(shù)FREQUENCY返回data_array中元素的個數(shù)。
函數(shù)特性:
(1)該函數(shù)的兩個參數(shù)均支持數(shù)組和單元格區(qū)域的引用,當(dāng)?shù)诙?shù)為二維數(shù)組或引用時,采用“先行后列”的方式進行統(tǒng)計。
(2)分段點若有重復(fù),只在首次分段點統(tǒng)計數(shù)值出現(xiàn)的個數(shù),其余分段點返回0。
(3)函數(shù)會忽略文本、邏輯值和空單元格,只對數(shù)值進行統(tǒng)計。
6.2 分段統(tǒng)計數(shù)值結(jié)果
需求:統(tǒng)計各分數(shù)段(即[0,60)、[60,70)、[70,80)、[80,90)、[90,100])的人數(shù)。
思路:
根據(jù)規(guī)則,在H2:H6單元格區(qū)域設(shè)置各分數(shù)段的分段點,然后同時選中I2:I6單元格區(qū)域,輸入多單元格數(shù)組,公式如下:
{=FREQUENCY($D$2:$D$21,$H$2:$H$5-0.001)}
需要注意這里的花括號{}不是輸入內(nèi)容,而是編寫完等號及左邊的公式后按Ctrl+shift+enter鍵得到。
FREQUENCY函數(shù)返回的元素個數(shù)會比bins_array參數(shù)中的元素個數(shù)多1個,多出來的元素表示超出最大間隔的數(shù)值個數(shù)。
此外,在按間隔統(tǒng)計時,FREQUENCY函數(shù)是按包括間隔上限,但不包括下限進行統(tǒng)計(即左閉右開)。
根據(jù)該函數(shù)的這些特征,設(shè)計公式時,需要在給出的間隔區(qū)間數(shù)據(jù)基礎(chǔ)上進行必要修正,才能得到正確的結(jié)果:
- 間隔區(qū)間要少取一個,取H2:H5數(shù)據(jù)區(qū)域,而不是表中顯示的H2:H6;
- 在給出的間隔區(qū)間上限值的基礎(chǔ)上減去一個較小的值0.001,調(diào)整間隔區(qū)間上下限的開閉區(qū)間關(guān)系。
6.3 計算連續(xù)相同值的最多個數(shù)
需求:根據(jù)上圖的NBA籃球賽連勝場次統(tǒng)計數(shù)據(jù)中,計算兩個球隊各自的比賽最長連勝(得3分)的場次。
思路:
根據(jù)需求,在W3單元格輸出如下數(shù)組公式:
{=MAX(FREQUENCY(IF(M3:V3=3,COLUMN(M3:V3)),IF(M3:V3<>3,COLUMN(M3:V3))))}
然后向下拖動公式。
該數(shù)組公式中的IF公式分別表示滿足條件的數(shù)據(jù)賦值“列號”,其他賦值FALSE,忽略邏輯值后,以列號用作間隔區(qū)間,對第一參數(shù)中的連續(xù)列號進行分段統(tǒng)計個數(shù),最后通過MAX函數(shù)取得最大值。
7 RANK函數(shù)
7.1 使用RANK函數(shù)對學(xué)生成績排名
**RANK函數(shù)語法:RANK(number,ref,order) ,其中Number 為需要找到排位的數(shù)字,Ref 為數(shù)字列表數(shù)組或?qū)?shù)字列表的引用(Ref 中的非數(shù)值型參數(shù)將被忽略),Order 為一數(shù)字,指明排位的方式。 **
- 如果 order 為 0(零)或省略,WPS表格對數(shù)字的排位是基于 ref 為按照降序排列的列表。
- 如果 order 不為零,WPS表格對數(shù)字的排位是基于 ref 為按照升序排列的列表。
需求:根據(jù)考試成績表,按總分分別進行班級內(nèi)部排名和全年級排名。
思路:
班級內(nèi)部排名:在I3單元格輸出如下公式:=RANK(H3,$H$3:$H$7),然后向下拖動公式。二班的排名類似,只需將調(diào)整排名數(shù)據(jù)。
年級內(nèi)排名:全年級成績區(qū)域包含一班和二班兩個數(shù)據(jù)區(qū)域,中間不連續(xù)。RANK函數(shù)可以忽略引用區(qū)域中的非數(shù)值參數(shù),而該函數(shù)的第二參數(shù)引用區(qū)域可以為單一數(shù)據(jù)區(qū)域,也可以是聯(lián)合屬于區(qū)域,因此公式可以為=RANK(H3,($H$3:$H$7,$H$10:$H$15))(聯(lián)合區(qū)域)或者 =RANK(H3,$H$3:$H$15)(完整區(qū)域)。
注意:RANK函數(shù)重復(fù)數(shù)的排名相同,但重復(fù)數(shù)會影響后續(xù)數(shù)值的排名,從出現(xiàn)跳躍式名次。
7.2 認識RANK.EQ函數(shù)和RANK.AVG函數(shù)
RANK.EQ函數(shù)和RANK.AVG函數(shù)是RANK函數(shù)的升級版,其中:
- RANK.EQ函數(shù):返回一列數(shù)字的數(shù)字排位。 其大小與列表中其他值相關(guān);如果多個值具有相同的排位,則返回該組值的最高排位。
- RANK.AVG函數(shù):返回一列數(shù)字的數(shù)字排位:數(shù)字的排位是其大小與列表中其他值的比值;如果多個值具有相同的排位,則將返回平均排位。
RANK函數(shù)、RANK.EQ函數(shù)、RANK.AVG函數(shù)這三者的語法類似。
RANK.EQ函數(shù)和RANK.AVG函數(shù)兩者的共同點:
(1)可以對數(shù)據(jù)進行升序或降序排名;
(2)排名范圍只能是單元格引用,不支持數(shù)組引用;
(3)支持聯(lián)合單元格區(qū)域,如使用公式 =RANK.AVG(B2,Sheet1:Sheet3!B:B)來實現(xiàn)多表聯(lián)合排名
說明:RANK.EQ函數(shù)和RANK.AVG函數(shù)在相同數(shù)值中出現(xiàn)不同排名是由其返回值決定的。
8 計算百分位排名
PERCENTRANK 函數(shù)用于返回特定數(shù)值在一個數(shù)據(jù)組中的百分比排位,利用該函數(shù)可以對目標(biāo)數(shù)據(jù)按一定數(shù)量比例進行分級。
PERCENTRANK 函數(shù)語法:
*PERCENTRANK(array,x,significance) *
參數(shù):
(1)Array:定義相對位置的數(shù)組或數(shù)字區(qū)域。
(2)x:數(shù)組中需要得到其排位的值。
(3)Significance:可選,一個用來標(biāo)識返回的百分比值的有效位數(shù)的值。如果省略,函數(shù)PERCENTRANK保留三位小數(shù)。
說明:
(1)若數(shù)組array為空,則PERCENTRANK 返回錯誤值 #NUM!。
(2)若 significane < 1,則PERCENTRANK 返回錯誤值 #NUM!。
(3)若數(shù)組里沒有與x相匹配的值,則PERCENTRANK 將進行插值以返回正確的百分比排位
需求:按各公司營業(yè)額的大小排序,排名前20%的公司評定為A級單位,在級別列填入評定結(jié)果。
思路:在C2單元格中輸入如下公式,并填充至C15單元格:
=IF(PERCENTRANK($B$2:$B$15,B2,2)>=0.8,“A級單位”,"")
該公式使用PERCENTRANK函數(shù)計算B2單元格的值在B2:B15單元格區(qū)域的數(shù)據(jù)組中的百分比排位,保留2位小數(shù)后的結(jié)果為0.92(B2:B15單元格區(qū)域中小于B2單元格值得個數(shù)有12個,大于B2單元格值的個數(shù)有1個,百分比排位計算過程為12/(1+12)≈0.92),最后用IF函數(shù)判斷大于或等于0.8時為“A級單位”。
9 剔除極值,計算平均得分
TRIMMEAN 函數(shù)返回數(shù)據(jù)集的內(nèi)部平均值:先從數(shù)據(jù)集的頭部和尾部除去一定百分比的數(shù)據(jù)點,然后再求平均值。
語法:TRIMMEAN(array,percent)
參數(shù):
(1)array 為需要進行整理并求平均值的數(shù)組或數(shù)值區(qū)域。
(2)percent 為計算時所要除去的數(shù)據(jù)點的比例,例如,如果 percent = 0.3,在 20 個數(shù)據(jù)點的集合中,就要除去 6 個數(shù)據(jù)點 (20 x 0.3):頭部除去3個,尾部除去 3 個。
**說明 **
- 如果 percent < 0 或 percent > 1,函數(shù) TRIMMEAN 返回錯誤值 #NUM!。
- 函數(shù) TRIMMEAN 將除去的數(shù)據(jù)點數(shù)目向下舍入為最接近的 2 的倍數(shù)。如果 percent = 0.1,30 個數(shù)據(jù)點的 10% 等于 3 個數(shù)據(jù)點。函數(shù) TRIMMEAN 將對稱地在數(shù)據(jù)集的頭部和尾部各除去一個數(shù)據(jù)。
需求:根據(jù)上面的評分表,要求在最終得分列計算“去掉一個最高分和一個最低分”后的平均得分。
思路:在J2單元格填入公式 =TRIMMEAN(B2:I2,2/COUNTA(B2:I2)),然后向下填充,公式中的2/COUNTA(B2:I2)作為百分比參數(shù),表示從B2到I2的非空單元格中去除2個數(shù)據(jù)點。
注意:當(dāng)存在多個相同極值(最大值或最小值)時,TRIMMEAN函數(shù)只會按要求各剔除其中一個,然后求平均值
10 眾數(shù)的妙用
眾數(shù)是指一組數(shù)值中出現(xiàn)頻率最高(次數(shù)最多)的數(shù)值。
需求:根據(jù)上面的選手評分表計算出每個選手得分頻率最高的分值。
思路:在J2單元格輸入公式=MODE(B2:I2),然后向下填充。
擴展:MODE函數(shù)還可以在數(shù)值和字符混合的數(shù)據(jù)表中計算出現(xiàn)頻率最高的內(nèi)容。
如上面數(shù)據(jù)表所示,計算出現(xiàn)頻率最高的內(nèi)容,P1單元格的公式如下:
{=INDEX(M2:M20,MODE(MATCH(M2:M20,M2:M20,0)))}
MODE函數(shù)只能對數(shù)值進行計算,要在數(shù)值和字符混合的數(shù)據(jù)表中計算出現(xiàn)頻率最高的內(nèi)容,首先需要用MATCH函數(shù)將數(shù)據(jù)表中的值全部轉(zhuǎn)為數(shù)值,其計算結(jié)果表示每一個數(shù)據(jù)在整個數(shù)據(jù)表中出現(xiàn)的位次,再用MODE函數(shù)從中計算出頻率最高的位次,最后用INDEX函數(shù),在數(shù)據(jù)表中查找對應(yīng)定位的值,從而得到出現(xiàn)頻率最高的值。
如果需要對數(shù)據(jù)列表中存在的空值等情況進行容錯,公式可改為=INDEX(M2:M20,MODE(MATCH(M2:M20&"",M2:M20&"",0)))。
如果空值不計算在有效數(shù)據(jù)內(nèi),公式可改為=INDEX(M2:M20,MODE(IF(M2:M20<>"",MATCH(M2:M20,M2:M20,0))))
注意*:當(dāng)數(shù)據(jù)表中的多個數(shù)字出現(xiàn)最高頻率相同時,則MODE函數(shù)按照先列后行、從上到下的原則返回第1個出現(xiàn)頻率最高的數(shù)值。
以上分享的干貨均來自書籍《Excel2013實戰(zhàn)技巧精粹》,更多技巧可自行查閱原書。
總結(jié)
以上是生活随笔為你收集整理的Excel常用统计分析函数分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1837):前端面试题之变量提
- 下一篇: plsql轻量版游标的使用