一霎苗、IF函數——條件選擇的不二法寶
提問:在制作業(yè)績評價表(見圖4-1)時,如何使用公式將業(yè)績100萬元以上的考核等級評價為“合格”,否則評價為“不合格”?
1.函數技能
IF函數的通俗翻譯就是:如果……就……否則……它會根據給定的邏輯判斷結果贞奋,自動返回相應的值。其中轻专,當邏輯判斷的計算結果為真(TRUE)時忆矛,將返回第一個參數值察蹲;當判斷條件的計算結果為假(FALSE)時请垛,則返回第二個參數值。如果省略邏輯判斷結果為假(FALSE)時的參數值洽议,則在邏輯判斷結果為假(FALSE)時宗收,直接返回“FALSE”。
IF函數看似簡單亚兄,但是它配合其他計算公式或函數演繹出來的作用將非常強大混稽,幾乎在每個財務工作表中,都能看到它的身影审胚。在第五章第一節(jié)的案例中匈勋,IF函數幾乎憑借一己之力,肩負起了賬齡分析的重任膳叨。
2.語法格式
IF(邏輯判斷,判斷結果為真時的值,判斷結果為假時的值)
其中洽洁,判斷結果為真(假)時的值可以為文本、數值菲嘴、單元格地址或公式等饿自。如果返回的值是文本,那么應該用英文雙引號括起來龄坪。
日常生活中我們常說的“你去昭雌,我就去”,用IF函數來表達就是:
=IF(你是不是要去健田,我去烛卧,我不去)
3.提問解答
(1)現(xiàn)在我們再來看圖4-1中的考核等級如何填寫。根據IF函數的技能和語法格式可知:
C3單元格公式為:=IF(B3>=100,"合格","不合格")
或:=IF(B3<100, "不合格","合格")
執(zhí)行列填充后妓局,即可完成任務(見圖4-2)总放。
(2)如果老板要求將業(yè)績劃分為三個評價等級:大于150萬元為“優(yōu)良”雳旅,100萬~150萬元為“合格”,小于100萬元為“不合格”间聊。
C3單元格公式為:=IF(B3>150,"優(yōu)良",IF(B3>=100,"合格","不合格"))
或:=IF(B3<100,"不合格",IF(B3<=150,"合格","優(yōu)良"))
執(zhí)行列填充后攒盈,就可以向高要求的老板交差了(見圖4-3)。
如上所述哎榴,公式返回的值還可以使用單元格地址型豁,直接引用單元格中的值。假設我們已經在D1單元格錄入“不合格”尚蝌,D2單元格錄入“合格”迎变,D3單元格錄入“優(yōu)良”。則C3單元格的公式也可以設置為(以三個評價等級公式為例):
=IF(B3>150,D3,IF(B3>=100,D2,D1))
或:=IF(B3<100,D1,IF(B3<=150,D2,D3))
注意:使用單元格地址時不能加引號飘言,否則該參數就表示為“A1”字符串(文本)而不是A1單元格對應的值衣形。該原則適用于Excel的任何領域,請務必尊重Excel的脾氣姿鸿。
更多IF函數的嵌套應用谆吴,請參見第五章各案例。
4.拓展應用
如果你僅僅把IF函數用于上述例子中的條件選擇苛预,就未免太可惜了句狼。對于任何一個函數,我們都要利用其技能特性热某,發(fā)揮更多的應用效果腻菇。比如,使用IF函數來凈化表格環(huán)境昔馋。
例如筹吐,逸凡公司2013年費用分析表(見圖4-4)中,我們在D列計算實際數相對預算數的增減率時秘遏,普通的做法是在D3單元格設置公式:=C3/B3-1丘薛。
由于展覽費是沒有預算(預算為0)的,而除數為0屬于非法邏輯垄提,導致展覽費的變動率(D6單元格)直接報錯榔袋,顯示為“#DIV/0!”铡俐,影響美觀凰兑。在這種情況下,我們可以采用IF函數對除數為0的情況進行特殊處理审丘。當除數為0時吏够,增減率顯示為“預算外費用”,當除數不為0時,才按常規(guī)公式計算(見圖4-5)锅知。
D3單元格公式為:=IF(B3=0,"預算外費用",C3/B3-1)
5.注意事項
在編寫多層IF函數公式時播急,應考慮到其可容納的嵌套層級上限,2003版為7級售睹,2007版開始實現(xiàn)了質的飛躍桩警,達到了64級。
在多層嵌套時昌妹,一定要注意邏輯判斷的遞進層級與先后順序捶枢,以免公式出錯。假設圖4-3中的公式為:=IF(B3>100,"合格",IF(B3>150,"優(yōu)良","不合格"))飞崖,就是典型的邏輯判斷先后順序錯誤烂叔。此時當業(yè)績大于100時,公式就直接返回“合格”固歪,無法再區(qū)分“優(yōu)良”蒜鸡,其計算結果自然會出錯。
此外牢裳,在使用函數嵌套時逢防,建議先將函數的框架建好,再編輯函數各參數的值贰健,否則容易因少括號或多括號而導致公式出錯胞四。比如編輯圖4-3公式時,可先編輯:=IF(B3>150,"優(yōu)良",IF(1,2,3))伶椿,然后再將里層的“IF(1,2,3)”修改為IF(B3>=100,"合格","不合格")。此經驗在編輯復雜公式時非常實用氓侧。
二脊另、AND函數、OR函數以及NOT函數——條件判斷的得力助手
提問:如果要求在圖4-5費用分析表的E列加備注约巷,對增減率未超過±2%的項目標記“正迟送矗”(預算外費用仍然標記“預算外費用”)。該如何處理独郎?
1.函數技能
(1)AND函數:全票通過才為真(TRUE)踩麦,即當參數中的所有值都為真(TRUE)時,它才返回真(TRUE)值氓癌。
(2)OR函數:一票通過即為真(TRUE),即當參數中任何一個值為真(TRUE)時,它就返回真(TRUE)值矾踱。
(3)NOT函數:用于求反值咒钟,即不滿足相關條件才返回真(TRUE)值。
2.語法格式
AND(條件1,條件2,條件3,……)
OR(條件1,條件2,條件3, ……)
NOT(條件)
此三個函數的最常用搭檔是IF函數,它們聯(lián)袂演繹的基本套路可以用下面幾個通俗用語予以說明才顿。
(1)日常用語“你們倆都去莫湘,我就去≈F”用AND函數和IF函數聯(lián)袂表達就是:
=IF(AND(你去,他去),我去,我不去)
(2)流行語“不管你信不信幅垮,反正我是信了∥沧椋”用OR函數和IF函數聯(lián)袂表達就是:
=IF(OR(你相信,你不相信),我相信)
(3)諺語“山中無老虎军洼,猴子稱霸王⊙菰酰”用NOT函數和IF函數聯(lián)袂表達就是:
=IF(NOT(山中有老虎)匕争,猴子稱霸王,老虎稱霸王)
3.提問解答
按照新的要求爷耀,需要標記“正掣噬#”的項目,其增減率應在±2%以內歹叮,即必須同時滿足大于等于-2%和小于等于2%兩個條件跑杭。在不使用ABS函數(求絕對值函數,本章第二節(jié)將進行介紹)的情況下咆耿,我們就需要AND函數和IF函數聯(lián)手了德谅。當然,我們還得首先考慮一層預算外費用的因素萨螺。
E3單元格公式為:
=IF(D3="預算外費用",D3,IF(AND(D3>=-2%,D3<=2%),"正常",""))
執(zhí)行列填充后窄做,即可看到正確的標記(見圖4-6)。
如果領導要求對增減率超過2%的項目標記為“關注”慰技,又該怎么辦椭盏?這里的方法就比較多了,但是我們給OR函數一次露臉的機會吧吻商。
增減率超過2%掏颊,實際上就是增減率小于-2%或者大于2%,屬于只需要一票就通過的情況艾帐。所以OR函數和IF函數登臺了乌叶。
E3單元格公式為:
=IF(D3="預算外費用",D3,IF(OR(D3<=-2%,D3>=2%),"關注",""))
執(zhí)行列填充后,即可完成標記(見圖4-7)柒爸。