文/施娟儀 首發(fā)于一周進(jìn)步 想當(dāng)年(其實也就是去年),一次計算機(jī)課上老師給了一份 Excel 工作簿文件:“這次課大家練習(xí) If 函數(shù)的使用,其中 If 的嵌套是比較有難度的。大家看書開始練習(xí)吧!”
作為一個名副其實的 Excel 小白,我一本正經(jīng)地在單元格中模(chao)仿(xi)下課本講解的公式: =IF(E30>=90,"優(yōu)秀",IF(E30>=80,"良好",IF(E30>=60,"及格","不及格"))) 然后若有所思地體會了它的奧妙。好的!我記住了!把它刪除,自己再做一遍!
結(jié)果就像打開書“馬冬梅”,關(guān)上書“馬什么梅”一樣老是記不住,不是缺胳膊就是少腿。
直到后來真正學(xué)習(xí)了Excel,我才知道,If 嵌套待我如初戀,我卻待它如魔鬼。 下面看怎么把魔鬼變成天使,順便提出解決此類多區(qū)間條件判斷問題的其他途徑。 01. 為什么起初接觸 If 嵌套覺得難?① 繞不明白 If 的判斷邏輯 If 函數(shù)只有三個參數(shù): 【條件】,【符合條件的話顯示什么】,【不符合的話顯示什么】。 If 嵌套就是因為在不符合條件的時候又多出了第三者。 比如上面這道題,不符合 >=90 的條件時不是直接判斷良好,而是繼續(xù)劃分是否 >=80、>=60。可以用一個思維導(dǎo)圖搞定邏輯:
這樣一步步補(bǔ)充參數(shù),就不會老是一會兒少半邊括號一會兒少掉個雙引號了~ ② 函數(shù)錄入的姿態(tài)不夠端莊 上小管老師的 Excel 課,老師一句話讓我暗笑了好久: “下面請注意我操作的姿態(tài)~” 這里借用一下 haha,錄入函數(shù)參數(shù)最好結(jié)合名稱框錄入,下面請注意我操作的姿態(tài):
每次到不符合條件的時候,就到名稱框下拉按鈕中選擇 IF ,繼續(xù)下一個條件的錄入。(如果此時的輸入狀態(tài)是英文,那么名稱框中會自動感應(yīng)出 IF ,而不用在下拉按鈕中選擇) 另外,參數(shù)錄入框中的切換用 tab 來代替鼠標(biāo)點(diǎn)擊,可以提高效率,比如錄入 E30>=90 后,按下 tab 輸入優(yōu)秀,以此類推。 02. vlookup 函數(shù)的較量除了 If 嵌套,這類多區(qū)間條件判斷問題還可以用 vlookup 函數(shù)近似查詢。 先認(rèn)識下vlookup近似查詢的四個參數(shù): 【想找誰】,【在哪個區(qū)域找】,【把區(qū)域中第幾列引用回來】,【1】 這里1是固定的,表示近似查詢。 結(jié)果是:=VLOOKUP(E30,$K$30:$L$33,2,1)。 咦,怎么式子短了那么多?因為有它: 這個對照表是我們使用 vlookup 函數(shù)解決此類問題的關(guān)鍵,它必須符合兩個條件: 第一,判斷的條件為數(shù)字,比如分?jǐn)?shù)0-100為數(shù)字; 第二,對照表中的數(shù)字部分必須升序排列。 下面看下解決過程:
【想找誰】:分?jǐn)?shù),引用第一個分?jǐn)?shù)的單元格 E30。 【在哪個區(qū)域找】:對照表 $K$30:$L$33(這里要加上 $ 把這個區(qū)域固定住,防止向下填充時區(qū)域隨意躁動跟著往下挪動)。 【把區(qū)域中第幾列引用回來】:返回對照表第2列判斷等級,所以參數(shù)是2。 【1】:近似查詢,查詢的分?jǐn)?shù)會往對照表中較小的值靠攏,得出等級。比如第一個分?jǐn)?shù)是82 分,那么它會向?qū)φ毡淼?80 分靠攏,得出等級良好。 03. lookup 也來湊熱鬧只是比 vlookup 少了個 v ,式子就能再短一些嗎? 還真是:=LOOKUP(E30,$K$30:$L$33) lookup 只需要錄入 vlookup 的前兩個參數(shù)即可,所以依舊需要上面的對照表: 04. 自定義單元格格式,直接分?jǐn)?shù)換等級如果我們想直接在單元格原地把分?jǐn)?shù)換成等級,就要利用自定義單元格格式。 選中分?jǐn)?shù)區(qū)域,打開【設(shè)置單元格格式】,選擇自定義,輸入[>=80]優(yōu)秀;[>=60]及格;不及格。條件用中括號引起,分號為英文狀態(tài)下的分號。
duang 的一下!
你會發(fā)現(xiàn)我怎么悄咪咪把成績范圍和對應(yīng)的等級給改了……咱不是90分以上才優(yōu)秀嗎? 其實這個不能怪我,因為自定義單元格格式的條件最多只能有三個,多了它可是六親不認(rèn)的,這是一個弊端。所以這里我自作主張把三個條件定為>=80,>=60,<60。 當(dāng)然,最后一個不及格的條件不用再在前面打上 [<60],否則 Excel 會彈出錯誤提示框,結(jié)果就是 [>=80]優(yōu)秀;[>=60]及格;不及格。
同一道題,我們有四個備用方案了。以后不用再被 If 層層嵌套繞暈了!完了 If 函數(shù),在嵌套這件事情上你可能要被本寶寶拋棄了~ |
|