电竞比分网-中国电竞赛事及体育赛事平台

分享

excel函數(shù)技巧:數(shù)字條件判斷,換個思維更簡潔

 部落窩教育BLW 2020-01-14

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

****部落窩教育-excel多重判斷條件函數(shù)公式****

原創(chuàng):老菜鳥/部落窩教育(未經(jīng)同意,請勿轉(zhuǎn)載)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多