私信回複關鍵詞【方方】~
獲取超好用的Excel插件,讓你效率飛起!
大家好,我是最近一直催着我們秋葉 Excel 的簽約作者趙驕陽老師寫 Frequency 函數續集的小爽~
前面的文章我們介紹過 Frequency 函數的基礎語法,裡面利用了數據軸的方式進行解析~
戳這裡看文章→這個函數比COUNTIF好用3倍,助你高效工作,到點下班
Frequency 函數的基礎語法:
=FREQUENCY(Data_array,Bins_array)
=FREQUENCY(統計的區域,分段點)
在我百般追着趙老師繼續寫 Frequency 函數的延伸做法的「高壓」之下,今天他終于「熬」出來了!!
被我逼的
所以現在我們來學習一下 Frequency 函數的延伸應用之一 —— 最大連勝場數。
什麼意思呢?我們來看幾個實際生活工作中的案例。
01一群學生在排隊,連續排在一起的相同性别的學生,最多不能超過 N 個人,不然就要重新調整位置;
在考核中,如果員工連續出現 N 次客戶投訴,就需要對該員工進行警告;
在比賽場上,有時候需要看最大連勝場數,用來判斷成員的發揮情況。
……
這不,最近我跟趙老師來了一個比賽——丢硬币!!
(總共十場,丢到字面我赢,丢到花面趙老師赢。)
我對自己的勝負結果,用 Excel 做了一下記錄,結果如下:
現在我們需要計算出最大連勝場數是多少。
如果是你,你會怎麼做?
思考中……
思考中……
思考中……
從表中,我們觀察到:各個連續的勝, 被「敗」分隔成了一塊一塊的。
其實就是以「敗」出現的位置作為分段點,計算各點之間有多少個「勝」的問題。
Frequency,是一個可以忽略邏輯值和文本,隻針對數值進行分段統計的函數。
因此,我們需要按照場次順序,編一組有序數值,如 G 列;
再将勝與敗的序号分兩列展示,如 I 列和 J 列;
在 I3 單元格輸入公式,下拉填充:
=IF(C3="勝",G3)
在 J3 單元格輸入公式,下拉填充:
=IF(C3="敗",G3)
通過觀察,我們可以發現,要想計算出每一段勝的連續個數,我們隻需要統計:
2 之前有幾個數,4~9 之間有幾個數,9 之後有幾個數。
這樣我們就進入了 Frequency 函數,對數值進行分段統計個數的模式:
以「勝」對應的序号作為統計的數據點,「敗」的序号作為分段點,Frequency 函數就可以幫我們數個數啦!
=FREQUENCY(勝的序值,敗的序值)
公式返回的一組數值就是各自區間連勝的場數,其中的最大值便是最大連勝場數。
02
按照前面的思路拆解,現在我們就來看看用 Frequency 函數,怎麼解決這個最大連勝次數的問題。
在 E3 單元格輸入公式:
IF(C3:C12="敗",ROW(1:10))
按【CTRL SHIFT ENTER】進行數組運算,得到結果如下圖:
一頓操作猛如虎,且看我下方慢慢解析~
03公式如下:
=MAX(FREQUENCY(IF(C3:C12="勝",ROW(1:10)),IF(C3:C12="敗",ROW(1:10))))
其中:
IF(C3:C12="勝",ROW(1:10))
—— 表示返回勝對應的行序,作為統計區域;
IF(C3:C12="敗",ROW(1:10))
—— 表示返回敗對應的行序,作為分段點值;
接下來就是用 Frequency 函數求出各區間數值的個數,結果返回數組{1;0;0;4;1},也就是是各個連勝區間對應的個數。
最後再用 MAX 函數求出最大值,就是最大連勝場數了。
小小拓展一下,公式還可以簡化為:
=MAX(FREQUENCY(ROW(1:11),IF(C3:C12<>"勝",ROW(1:10))))-1
為什麼可以這麼簡化呢?
其實這個公式的原理,跟前面的思路是差不多的。
具體思路的拆解,就留給大家後面自己思考了。
本文介紹了 Frequency 函數在最大連勝場數的應用:
❶ Frequency 函數的語法規則:=Frequency(統計的區域,分段點)。
❷ 最大連勝場數的思路解析:當我們遇到類似關于統計連續出現最大次數的問題,可以構造一組有序數值,進入 Frequency 函數模式來解決。
❸ 公式原理:分段點就是敗的序号,統計區域是勝的序号。
根據案例,如何求趙老頭最多連勝的場數?
可以在留言區說出你的答案~
私信回複關鍵詞【方方】~
獲取超好用的Excel插件,讓你效率飛起!
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!