FREQUENCY函數(shù)計(jì)算數(shù)值在指定區(qū)間內(nèi)的出現(xiàn)頻數(shù),然后返回一個(gè)垂直數(shù)組。這個(gè)函數(shù)有兩個(gè)參數(shù),常規(guī)用法是這樣的:FREQUENCY(一組數(shù)值,指定的間隔值)FREQUENCY函數(shù)將第一參數(shù)中的數(shù)值以第二參數(shù)指定的間隔進(jìn)行分組,計(jì)算數(shù)值在各個(gè)區(qū)間內(nèi)出現(xiàn)的頻數(shù)。最終返回的數(shù)組中的元素會(huì)比間隔值的元素多一個(gè),多出來的這個(gè)表示最高區(qū)間之上的數(shù)值個(gè)數(shù)。如下圖所示,要根據(jù)D列的條件,統(tǒng)計(jì)各個(gè)年齡段的人數(shù)。 然后同時(shí)選中F3:F6,編輯欄中輸入以下公式,按<Ctrl+Shift+Enter>組合鍵結(jié)束編輯。注意,由于FREQUENCY函數(shù)返回的是數(shù)組結(jié)果,因此在直接使用該函數(shù)時(shí)需要按<Ctrl+Shift+Enter>組合鍵結(jié)束編輯才能正常運(yùn)算。第二參數(shù)設(shè)置了3個(gè)間隔,結(jié)果返回了4個(gè)數(shù)字,最后這個(gè)數(shù)字,就是比最高的間隔值還要大一些的有多少。接下來咱們再看看這個(gè)函數(shù)的其他典型用法: 如下圖所示,要統(tǒng)計(jì)每一行中連續(xù)簽到最多的天數(shù)。 I2單元格輸入以下公式,按<Ctrl+Shift+Enter>組合鍵結(jié)束編輯。
=MAX(FREQUENCY(IF(B2:H2>0,COLUMN(B:H)),IF(B2:H2=0,COLUMN(B:H)))) 這個(gè)公式看起來好復(fù)雜啊,其實(shí)掌握一下套路就簡單了。 FREQUENCY函數(shù)的第1參數(shù)是下面這段內(nèi)容:如果B2:H2大于0,就返回對(duì)應(yīng)的列號(hào),否則返回邏輯值FALSE,結(jié)果是這樣的: 再來看FREQUENCY函數(shù)的第2參數(shù):如果B2:H2等于0,就返回對(duì)應(yīng)的列號(hào),否則返回邏輯值FALSE,結(jié)果是這樣的:{2,FALSE,FALSE,FALSE,6,FALSE,FALSE}這兩個(gè)參數(shù)是如何來計(jì)算的呢?FREQUENCY函數(shù)能夠忽略數(shù)組中的邏輯值,以未簽到對(duì)應(yīng)的列號(hào){2;6}為指定間隔值,統(tǒng)計(jì)簽到對(duì)應(yīng)的列號(hào){3;4;5;7;8}在各個(gè)分段中的數(shù)量,相當(dāng)于分別統(tǒng)計(jì)在兩個(gè)未簽到列號(hào)之間有多少個(gè)簽到的列號(hào),返回內(nèi)存數(shù)組結(jié)果為:也就是小于等于2的有0個(gè),小于等于6的有3個(gè),大于6的有2個(gè)。 最后使用MAX函數(shù)從內(nèi)存該數(shù)組中提取出最大值,OK了。如果你覺得這個(gè)公式計(jì)算過程不容易理解,可以先記住按條件統(tǒng)計(jì)頻率的模式化用法:FREQUENCY(IF(符合條件,相應(yīng)列號(hào)),IF(不符合統(tǒng)計(jì),相應(yīng)列號(hào)))2、計(jì)算不重復(fù)下的第n個(gè)最大值FREQUENCY函數(shù)還有一個(gè)特點(diǎn),如果指定間隔中的數(shù)值有重復(fù),會(huì)僅統(tǒng)計(jì)第一次出現(xiàn)時(shí)的間隔,后面重復(fù)出現(xiàn)的間隔值,計(jì)算結(jié)果會(huì)顯示為0。并且第二參數(shù)不要求排序處理,函數(shù)會(huì)自動(dòng)將各個(gè)間隔值按從小到大排序后計(jì)算對(duì)應(yīng)的間隔數(shù)量,再將結(jié)果按原有順序分配到各個(gè)單元格。 利用這個(gè)特點(diǎn),能夠計(jì)算不重復(fù)的第n個(gè)最大(最?。┲?。 如下圖所示,B列的考核有很多個(gè)重復(fù)分?jǐn)?shù),希望從中提取出不重復(fù)的第3個(gè)最高分。
=LARGE(IF(FREQUENCY(B2:B10,B2:B10),B2:B10),3) 本例公式中,F(xiàn)REQUENCY的第1參數(shù)和第2參數(shù)相同,表示分別按B2:B10中的各個(gè)數(shù)值來對(duì)這個(gè)區(qū)域的數(shù)值進(jìn)行分組統(tǒng)計(jì),結(jié)果為:也就是99及以上的有4個(gè),97~99以下的有1個(gè),95~97以下的有1個(gè),85~95以下的有1個(gè)…… 然后使用IF函數(shù)進(jìn)行判斷,如果FREQUENCY的計(jì)算結(jié)果大于0,就返回B2:B10單元格區(qū)域中對(duì)應(yīng)的數(shù)值,否則返回邏輯值FALSE。得到內(nèi)存數(shù)組結(jié)果為: {99;FALSE;FALSE;FALSE;97;95;65;85;70;FALSE}最后使用LARGE函數(shù),忽略邏輯值從內(nèi)存數(shù)組中提取出第三個(gè)最大值。
|