強(qiáng)大的FREQUENCY函數(shù),計(jì)算連續(xù)加班天數(shù)的利器
?
作者:阿碩來(lái)源:部落窩教育發(fā)布時(shí)間:2021-11-26 09:54:29點(diǎn)擊:4189
編按:
今天給大家講一講FREQUENCY函數(shù),在解決連續(xù)計(jì)數(shù)的問(wèn)題上有著得天獨(dú)厚的優(yōu)勢(shì),比如計(jì)算連續(xù)晴天的天數(shù)、連續(xù)比賽勝利的場(chǎng)數(shù)、連續(xù)取得某成績(jī)(如大于80分)的次數(shù)等。下面,就讓我們一起來(lái)學(xué)習(xí)吧!
哈嘍,大家好,歡迎來(lái)到部落窩教育!我是阿碩。
最近,上進(jìn)青年小張攤上事兒了。公司領(lǐng)導(dǎo) “作妖”,發(fā)布新規(guī)定說(shuō):哪位員工在一周之內(nèi)連續(xù)加班三天或三天以上,將額外發(fā)一筆連續(xù)加班獎(jiǎng)勵(lì)金。這個(gè)令人頭疼的統(tǒng)計(jì)問(wèn)題,就落在了小張的頭上。
先看數(shù)據(jù),如下圖所示,A列是員工姓名,B列至H列是日期以及相應(yīng)日期中員工的加班情況,共分為“加班“和”未加班“兩種。
解決這種連續(xù)計(jì)數(shù)的問(wèn)題,可以用一個(gè)特殊的計(jì)數(shù)函數(shù)——FREQUENCY函數(shù)。下面,就讓我們一起來(lái)學(xué)習(xí)吧!
FREQUENCY函數(shù)一共有兩個(gè)參數(shù),它的函數(shù)表達(dá)式是=FREQUENCY(數(shù)據(jù)源,分段點(diǎn))
我們首先對(duì)張三的加班和未加班情況分別寫(xiě)一條IF函數(shù)。在B8中,我們輸入“=IF(B2="加班",COLUMN(B:B),"")”,然后向右復(fù)制填充單元格至H8,得到的結(jié)果如下圖所示。
這個(gè)IF函數(shù)的作用就是進(jìn)行一個(gè)判斷:如果某一天張三加班,則會(huì)在第8行相應(yīng)的單元格中顯示該列的列號(hào),否則顯示空格。B8:H8就是我們要構(gòu)造的FREQUENCY函數(shù)的第一參數(shù),即數(shù)據(jù)源。
接下來(lái),我們?cè)?span>B9中輸入“=IF(B2="未加班",COLUMN(),"")”,然后向右復(fù)制填充公式至H9,得到的結(jié)果如下圖所示。
E9和F9單元格顯示列號(hào),其中的內(nèi)容分別是5、6。B9:H9就是我們要構(gòu)造的FREQUENCY函數(shù)的第二參數(shù),即分段點(diǎn)。
好了,寫(xiě)完上述兩條IF函數(shù)之后,我們今天的主角FREQUENCY函數(shù)就要出場(chǎng)了。我們?cè)?span>B10中輸入“=FREQUENCY(B8:H8,B9:H9)”,得到的結(jié)果如下圖所示。
乍看上去,FREQUENCY函數(shù)得到的結(jié)果是3,實(shí)則不然。
在函數(shù)編輯欄選中公式,按下F9鍵,查看計(jì)算結(jié)果。B10中的實(shí)際數(shù)據(jù)是“{3;0;2}”,如下圖。(可按Esc鍵退出查看)
FREQUENCY函數(shù)實(shí)際是返回了一個(gè)數(shù)組,數(shù)組中共有3個(gè)數(shù)據(jù),分別是3、0、2。這3個(gè)數(shù)據(jù)是怎么得來(lái)的呢?這就要詳細(xì)講一講FREQUENCY函數(shù)的原理了。
FREQUENCY函數(shù)的功能是統(tǒng)計(jì)數(shù)據(jù)源被分段點(diǎn)分割之后,所形成的各個(gè)區(qū)間內(nèi)的數(shù)據(jù)的數(shù)量,也就是統(tǒng)計(jì)數(shù)據(jù)源中的數(shù)據(jù)落在各個(gè)區(qū)間內(nèi)的數(shù)量,所以,它本質(zhì)上是一個(gè)計(jì)數(shù)函數(shù)。
在統(tǒng)計(jì)的時(shí)候,FREQUENCY函數(shù)統(tǒng)計(jì)的是大于前1個(gè)分段點(diǎn),且小于或等于當(dāng)前分段點(diǎn)的數(shù)值的個(gè)數(shù)。這么說(shuō)起來(lái),可能有點(diǎn)抽象,我們用剛才的數(shù)據(jù)來(lái)套一下,就比較容易理解了。
對(duì)于案例來(lái)說(shuō):分段點(diǎn)是B9:H9,其中的空格被忽略不計(jì)(注:這是FREQUENCY的一個(gè)特點(diǎn)——自動(dòng)忽略任意一個(gè)參數(shù)中非數(shù)值型的數(shù)據(jù)),有效的分段點(diǎn)是5和6;數(shù)據(jù)源是B8:H8,實(shí)際上有效的數(shù)據(jù)源是2、3、4、7、8。對(duì)于FREQUENCY函數(shù)的統(tǒng)計(jì)區(qū)間,有一點(diǎn)大家要注意——區(qū)間的數(shù)量總是比第2參數(shù)(即分段點(diǎn))的數(shù)量多一個(gè)。
打一個(gè)比方,假設(shè)我們面前有一條繩子,如果剪1刀,則會(huì)產(chǎn)生2段繩子,如果剪2刀,則會(huì)產(chǎn)生3段繩子,如果剪3刀,則會(huì)產(chǎn)生4段繩子,其余以此類推。對(duì)于張三來(lái)說(shuō),分段點(diǎn)為5和6,一共是2個(gè)分段點(diǎn),所以最終會(huì)構(gòu)造出3個(gè)統(tǒng)計(jì)區(qū)間,這3個(gè)區(qū)間分別是“小于等于5”,“大于5,且小于等于6”,“大于6”。
現(xiàn)在我們來(lái)看一下數(shù)據(jù)源落在各區(qū)間內(nèi)的情況,數(shù)據(jù)源中落在第一個(gè)區(qū)間內(nèi)(即小于等于5)的數(shù)據(jù)是2、3、4,一共是3個(gè)數(shù)據(jù),所以,區(qū)間1內(nèi)的數(shù)據(jù)個(gè)數(shù)是3;數(shù)據(jù)源中沒(méi)有任何數(shù)據(jù)落在第二個(gè)區(qū)間內(nèi)(即大于5,且小于等于6),所以,區(qū)間2內(nèi)的數(shù)據(jù)個(gè)數(shù)是0;數(shù)據(jù)源中落在第三個(gè)區(qū)間內(nèi)(即大于6)的數(shù)據(jù)是7和8,一共是2個(gè)數(shù)據(jù),所以,區(qū)間3中的數(shù)據(jù)個(gè)數(shù)是2。如下圖所示。
根據(jù)分析,落在3個(gè)區(qū)間內(nèi)數(shù)據(jù)的數(shù)量分別是3、0、2,這3個(gè)數(shù),構(gòu)成一個(gè)數(shù)組來(lái)作為FREQUENCY函數(shù)的返回結(jié)果,這也就是剛才我們通過(guò)F9鍵查看到的B10中的數(shù)據(jù)內(nèi)容。所以呢,3、0、2這三個(gè)數(shù)據(jù)就表示一周內(nèi)張三的加班情況:連續(xù)加了3天班,然后連續(xù)2天沒(méi)加班(即加連續(xù)加了0天班),之后又連續(xù)加了2天班。同時(shí),顯而易見(jiàn),張三的最長(zhǎng)的連續(xù)加班天數(shù)是3天。
為了讓大家充分理解FREQUENCY函數(shù),我們?cè)僖酝跷鍨槔?,看一下他的加班情況。我們?cè)?span>B11中輸入“=IF(B3="加班",COLUMN(B:B),""),然后向右復(fù)制填充公式至H11,在B12中輸入“=IF(B3="未加班",COLUMN(B:B),"")”,然后向右填充公式到H12,如下圖所示。
在B13中,我們輸入“=FREQUENCY(B11:H11,B12:H12)”,如下圖所示。
通過(guò)F9鍵,我們可以查看B13中的內(nèi)容??梢钥吹剑?span>B13中的內(nèi)容也是一個(gè)數(shù)組,數(shù)組中的數(shù)據(jù)是“{0;1;1;2}”,如下圖所示。
大家看,拿王五來(lái)說(shuō),實(shí)際的分段點(diǎn)是2、4、6(B12:H12為第二參數(shù),該區(qū)域中的空格被忽略),數(shù)據(jù)源是3、5、7、8(B11:H11中為第一參數(shù),該區(qū)域中的空格被忽略)。所以,經(jīng)過(guò)對(duì)區(qū)間分段并對(duì)落在各區(qū)間內(nèi)的數(shù)據(jù)數(shù)量進(jìn)行統(tǒng)計(jì)之后,可以得到0、1、1、2這樣一組數(shù)據(jù),具體的對(duì)應(yīng)關(guān)系,如下圖所示。
好了,至此,FREQUENCY函數(shù)的邏輯,就講明白了。在FREQUENCY函數(shù)計(jì)算出加班的具體分布情況后,我們?cè)谄渫饷嬖偾短滓粋€(gè)MAX函數(shù),就可以得到員工最長(zhǎng)的連續(xù)加班天數(shù)了。如果員工的最長(zhǎng)加班天數(shù)大于等于3,那么這名員工在一周內(nèi)肯定有過(guò)連續(xù)三天加班的情況;否則,他就沒(méi)有過(guò)連續(xù)三天加班的情況,也就拿不到連續(xù)加班獎(jiǎng)勵(lì)金啦!還是以王五為例,我們把B13中的函數(shù)修改為“=MAX(FREQUENCY(B11:H11,B12:H12))”,則可以看到,王五的最長(zhǎng)連續(xù)加班天數(shù)為2,這樣看來(lái),王五是拿不到連續(xù)加班獎(jiǎng)勵(lì)金的!
現(xiàn)在,我們?cè)?span>I2中輸入“=FREQUENCY(IF(B2:H2="加班",COLUMN(B2:H2),""),IF(B2:H2="未加班",COLUMN(B2:H2),""))”,輸完后按Ctrl+Shift+Enter構(gòu)造數(shù)組,然后向下復(fù)制填充公式至I6,得到的結(jié)果如下圖所示。
要注意,I2至I6中的數(shù)據(jù)都是數(shù)組,小伙伴們可以通過(guò)F9鍵查看其中的內(nèi)容。為了便于理解 ,阿碩為大家做了整理,如下圖所示。
接下來(lái),我們?cè)?span>FREQUENCY函數(shù)外面嵌套一個(gè)MAX函數(shù),就可以計(jì)算出每個(gè)員工的最長(zhǎng)連續(xù)加班天數(shù)啦!我們將I2中的公式修改為“=MAX(FREQUENCY(IF(B2:H2="加班",COLUMN(B2:H2),""),IF(B2:H2="未加班",COLUMN(B2:H2),"")))”,輸入后按Ctrl+Shift+Enter構(gòu)造數(shù)組,然后向下復(fù)制填充公式至I6,得到的結(jié)果如下圖所示。
可以看到,張三、王五、朱七、程九、李四的最長(zhǎng)連續(xù)加班天數(shù)分別為3、2、4、1、0天。統(tǒng)計(jì)到這里,大家應(yīng)該能看出來(lái)哪位員工可以得到連續(xù)加班獎(jiǎng)勵(lì)金了吧!
好了,今天的內(nèi)容就是這些,你學(xué)會(huì)了嗎?
本文配套的練習(xí)課件請(qǐng)加入QQ群:902294808下載。
做Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!
掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel:
相關(guān)推薦:
將excel中的數(shù)據(jù)按照指定數(shù)量進(jìn)行重復(fù),非得用VBA才能實(shí)現(xiàn)嗎?
Power Query的數(shù)據(jù)替換技巧比Excel函數(shù)更萬(wàn)能!
版權(quán)申明:
本文作者阿碩;同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車一樣長(zhǎng)像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實(shí)戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒(méi)有重復(fù),Excel卻判定數(shù)據(jù)重復(fù),這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問(wèn)題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學(xué)會(huì)這2個(gè)公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說(shuō)是拍馬屁也成,今天你應(yīng)該這樣發(fā)Excel報(bào)表……
- 如何計(jì)算Excel單元格中的算式,四種求和方法請(qǐng)收好!
最新教程
- 一個(gè)公式搞定空行的動(dòng)態(tài)插入
- 多功能銷售日歷模板制作
- 用正則函數(shù)快速拆分單元格中的同類數(shù)據(jù)
- 用免費(fèi)AI將圖片批量轉(zhuǎn)表格
- 先入先出出入庫(kù)模板中出庫(kù)批次的自動(dòng)匹配
- 用SUBSTITUTE替換法為產(chǎn)品找到最匹配的類別
- SHEETSNAME,一鍵獲得所有工作表名稱完成目錄制作
- 延遲退休落地,快速查詢你上幾年才退休!
- 快速將PDF電子發(fā)票數(shù)據(jù)提取到發(fā)票明細(xì)登記表的方法
- 提取、查找、替換數(shù)據(jù)的王者——REGEXP正則函數(shù)