二維碼 購物車
部落窩在線教育歡迎您!

函數(shù)界也搞裁員?我們恐將告別IF函數(shù)!

?

作者:老菜鳥來源:部落窩教育發(fā)布時(shí)間:2020-01-09 15:25:00點(diǎn)擊:2939

分享到:
0
收藏    收藏人氣:0人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

哈嘍,大家好!都說職場(chǎng)如戰(zhàn)場(chǎng),這句話放在函數(shù)界也一點(diǎn)不過分。前段時(shí)間,剛上任的XLOOKUP,就讓有著三十五歲工齡的VLOOKUP面臨職場(chǎng)危機(jī),好在XLOOKUP只能在收費(fèi)版的excel中使用,且普及度還不高,這才讓VLOOKUP有所緩和。誰能想到,沒過多久,老員工IF函數(shù)也被杠上了,來看看是怎么一回事吧!

 

似乎裁員、辭職這類事件永遠(yuǎn)都比較受關(guān)注,前段時(shí)間華為裁員7000人的事件雖然被證實(shí)是炒作舊聞,但的確有很多企業(yè)每年都在實(shí)施人員精簡(jiǎn)。其實(shí)不光我們的社會(huì)如此,就連函數(shù)圈里也有類似的事件,xlookup函數(shù)剛被爆出來的時(shí)候,vlookup函數(shù)下崗的文章就很是火了一陣,今天我們要說的話題也和函數(shù)危機(jī)有關(guān),事件的主體是一個(gè)大家都非常熟悉的函數(shù),IF函數(shù)。

 

作為一個(gè)很常用也很實(shí)用的函數(shù),IF函數(shù)一直是新手比較喜歡的一個(gè),但其實(shí)在一些高手的眼中,IF函數(shù)是有著很多替代方案的,那么IF函數(shù)的危機(jī)真的來了嗎?

 

問題1:如下圖所示,當(dāng)實(shí)際銷售量大于銷售量目標(biāo)時(shí),獎(jiǎng)勵(lì)1000元。

 

 

通常遇到這類問題,首先想到的一定是IF函數(shù),公式為:=IF(C2>B2,1000,0)

 

 

大家都能理解這個(gè)公式,而且這個(gè)問題也相當(dāng)簡(jiǎn)單,簡(jiǎn)單到甚至都不需要用函數(shù)就能解決:

 

 

在公式“=(C2>B2)*1000”中,利用了邏輯值直接參與計(jì)算,當(dāng)C2>B2成立時(shí),得到true,反之得到false。邏輯值在與數(shù)字計(jì)算時(shí),true等同于1,false等同于0,因此公式“=(C2>B2)*1000同樣可以得到所需的結(jié)果。

 

問題2:還是計(jì)算獎(jiǎng)勵(lì)的問題,這次對(duì)獎(jiǎng)勵(lì)規(guī)則做了調(diào)整,當(dāng)實(shí)際銷量大于目標(biāo)銷量時(shí),每超過一個(gè)銷量獎(jiǎng)勵(lì)50元,1000元封頂。

 

這時(shí)候如果還用IF函數(shù)解決,公式就變成了=IF(C2B2,0,IF((C2-B2)*50<1000,(C2-B2)*50,1000))”。

 

 

這個(gè)公式進(jìn)行了兩次判斷,首先判斷是否達(dá)到獎(jiǎng)勵(lì)標(biāo)準(zhǔn),也就是C2B2時(shí),不發(fā)獎(jiǎng)勵(lì);如果達(dá)到獎(jiǎng)勵(lì)標(biāo)準(zhǔn),還要進(jìn)一步判斷獎(jiǎng)勵(lì)是否達(dá)到1000元,也就是(C2-B2)*50<1000,如果不到1000,按實(shí)際獎(jiǎng)勵(lì)計(jì)算,超過了仍按1000計(jì)算。

 

在這個(gè)問題中,要用好IF已經(jīng)需要一點(diǎn)功力才行了,公式明顯比第一個(gè)問題復(fù)雜了很多,這時(shí)候,IF函數(shù)的新對(duì)手出現(xiàn)了,而且一下子就來了兩個(gè):=MIN(MAX((C2-B2)*50,0),1000)

 

 

Min函數(shù)用于得到幾個(gè)數(shù)字中最小的一個(gè),max函數(shù)用于得到幾個(gè)數(shù)字中最大的一個(gè),這兩個(gè)函數(shù)配合了一下,竟然把一個(gè)原本該是IF函數(shù)的活給輕松解決了。

 

這個(gè)公式需要分成兩部分來理解,首先MAX((C2-B2)*50,0)得到理論獎(jiǎng)勵(lì)和0中的較大者,如果不夠獎(jiǎng)勵(lì)標(biāo)準(zhǔn),(C2-B2)*50就是一個(gè)負(fù)數(shù),較大者為0,反之就是超額銷量*50;接下來再將max得到的結(jié)果和1000放在一起,通過min函數(shù)來得到較小者,如果獎(jiǎng)勵(lì)金額超過1000,則返回1000。這樣就可以把一個(gè)比較復(fù)雜的IF公式變得簡(jiǎn)潔。

 

問題3:按超額數(shù)量計(jì)算階梯獎(jiǎng)勵(lì),規(guī)則如圖所示。

 

 

如果還想用IF來解決這個(gè)問題,可以自己試試,確實(shí)太長(zhǎng)了。下面分享幾個(gè)不用IF的公式供大家參考:

 

公式1=MIN(MAX(INT((C2-B2)/10+1)*300,),1000)

 

 

這就完全是一種數(shù)學(xué)思路了,按照階梯獎(jiǎng)勵(lì)的規(guī)則,每一檔相差300元,1000元封頂,所以先把超額數(shù)量除以10再加1,乘上300就是獎(jiǎng)勵(lì)金額:

 

 

但是會(huì)出現(xiàn)負(fù)數(shù)和超過1000的情況,再用問題2的思路,結(jié)合maxmin就能得到最終結(jié)果。

 

公式2=MIN(MAX(CEILING(C2-B2+1,10)*30,),1000)

 

 

這個(gè)公式可以看作是公式1的改版,還是利用了獎(jiǎng)勵(lì)規(guī)則中的一些規(guī)律性,用CEILING(C2-B2+1,10)*30取代了INT((C2-B2)/10+1)*300。CEILING函數(shù)是將數(shù)字按照指定的倍數(shù)向上舍入,看看下圖示例或許就明白了。

 

 

公式3=LOOKUP(C2-B2,$F$2:$H$6)

 


 

公式3完全是利用了LOOKUP可以進(jìn)行區(qū)間匹配的功能,需要說明的是,本例中使用了一個(gè)輔助區(qū)域,這對(duì)于初學(xué)者來說是非常有用的,注意輔助區(qū)域的首列一定要用下限值。

 

如果不想用輔助區(qū)域,可以按f9鍵把公式里的區(qū)域變成數(shù)組就行了:

 

=LOOKUP(C2-B2,{-999,0;0,300;10,600;20,900;30,1000})

 

 

如果獎(jiǎng)勵(lì)標(biāo)準(zhǔn)發(fā)生變化時(shí),自己修改數(shù)組中的數(shù)據(jù)即可。

 

結(jié)論:以上案例中,分別使用了邏輯值、min、maxint、ceilinGlookup等函數(shù)來取代IF,實(shí)際上能取代IF的函數(shù)還有一些,例如choosetext等都可以,篇幅所限不再一一列舉。

 

當(dāng)問題的判斷條件是基于數(shù)字的時(shí)候,IF往往不是唯一可以選擇的途徑,換個(gè)思路或許可以得到更多方法,但是IF函數(shù)的確也有自身的優(yōu)勢(shì),對(duì)于一些非數(shù)字性的判斷,就非它不可了。

 

由此觀之,要想在職場(chǎng)中立于不敗之地,一定要有自身的優(yōu)勢(shì)和技能,并且是一些不可取代的技能!

 

本文配套的練習(xí)課件請(qǐng)加入QQ群:747953401下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

全網(wǎng)最詳細(xì)的IF函數(shù)教程IF函數(shù)的新用法,早會(huì)早下班!

取代IF函數(shù)的用法一個(gè)MAX函數(shù)就能解決的事,你居然用IF寫了這么長(zhǎng)一串!

LOOKUP函數(shù)基礎(chǔ)用法《VLOOKUP&LOOKUP雙雄戰(zhàn)(一):VLOOKUP的漂亮開局