FREQUENCY函數(shù)以一列垂直數(shù)組返回一組數(shù)據(jù)的頻率分布,在之前的文章中,我們詳細解了該函數(shù)的基礎語法及應用示例。下面,我們以示例解FREQUENCY函數(shù)的一些精彩應用。
示例1:統(tǒng)計不同數(shù)值的個數(shù)
如下圖1所示的工作表,在單元格區(qū)域A1:A8中有一列數(shù)值,我們需要使用公式算出該區(qū)域中不同數(shù)值的個數(shù)。此時,可以使用公式:
=SUM(–(FREQUENCY(A1:A8,A1:A8)>0))
計算結(jié)果為5,如圖1中的單元格D2所示。在列表中,不同的數(shù)值是1、3、5、6、7共5個。

圖12
由于示例數(shù)據(jù)較少,我們可以手算出平均值:
(50+38+68+21+15+21+19+25)/8=32.125
通常想到的是使用AVERAGEIF函數(shù)求條件平均值,但是示例數(shù)據(jù)在三個不連續(xù)的區(qū)域,下面的公式:
=AVERAGEIF((C3:C7,E3:E7,G3:G7),”<>0″)
返回#VALUE!,因為AVERAGEIF函數(shù)不能處理非連續(xù)區(qū)域。
使用SUM函數(shù)和COUNT函數(shù)相結(jié)合呢?
=SUM(C3:C7,E3:E7,G3:G7)/COUNT(C3:C7,E3:E7,G3:G7)
結(jié)果是17.133,因為COUNT函數(shù)將0值單元格也統(tǒng)計了。
使用COUNTIF函數(shù)代替COUNT函數(shù)忽略0值單元格:
=SUM(C3:C7,E3:E7,G3:G7)/COUNTIF((C3:C7,E3:E7,G3:G7),”<>0″)
返回#VALUE!,因為COUNTIF函數(shù)不能用于非連續(xù)區(qū)域。
以上公式都不得到正確的結(jié)果,因為不能夠獲得這些非連續(xù)單元格區(qū)域中非零值的個數(shù)。可以使用FREQUENCY函數(shù)來解決,公式為:
=SUM(C3:C7,E3:E7,G3:G7)/INDEX(FREQUENCY((C3:C7,E3:E7,G3:G7),0),2)
FREQUENCY函數(shù)可用于非連續(xù)單元格區(qū)域,F(xiàn)REQUENCY((C3:C7,E3:E7,G3:G7),0)返回包含兩個值的數(shù)組:
{7;8}
即非連續(xù)單元格區(qū)域數(shù)值組成的數(shù)組中等于0的個數(shù)以及大于0的個數(shù)。
傳遞給INDEX函數(shù):
INDEX({7;8},2)
得到結(jié)果8,即為非連續(xù)單元格區(qū)域中大于0的個數(shù)。
結(jié)語
充分利用FREQUENCY函數(shù)的基本特性,結(jié)合實際場景靈活運用,往往會為我們的實際應用提供一些巧妙的解決方案。






