本身就針對IF的語法而言,并沒有什么難點,學習起來也就幾分鐘的事情。
然而就是這么個簡單的判斷函數,在實際使用的過程中,卻有很多讓人混亂的地方。今天也順便來做一個記錄,只要按照套路來辦事,基本就不會錯的。
結果先行 判斷我們到底要用幾個IF
面對一個需求的時候,到底需不需要進行IF的嵌套,也就是要不要多個IF?
不管是數據庫查詢還是Excel的操作,本質上都類似。我們舉一個例子:
性別的解析:1:男,0:女
怎么個結果現行呢?我們來讀一下:
一個人在正常情況下性別不是男性就是女性。
我們的這個結果可以用True或者False進行邏輯上的統一表示。所以我們只需要用一個IF函數來寫就能得到準確的結果。
> IF(Range=1,"男","女")
當然這個世界還是存在一些不確定因素:比如出現了第三種性別。。。
我們還是來讀一下:
一個人的性別不是男就是女就是。。。額。。
感謝語文老師吧,讀不下去了對不對?這樣的情況已經不是簡單的對錯判斷了。這個時候,好用的方法其實是VLOOKUP函數,而不是IF函數了,不過IF也可以用,但是需要嵌套:
> IF(Range=1,"男",IF(Range=0,"女","不男不女"))
如果一個判斷結果能用下面這幾組詞語進行概括,那么不管條件多復雜,一個IF絕對夠:
- 不是。。。就是。。。
- 要。。。不要。。。
- 能。。。不能。。。
- 有。。。沒有。。。
如果概括不出來,那么就妥妥地用嵌套IF或者別的工具吧。我們可以看出每一個IF都只針對一個具體的事情,比如性別、是否達標、是否合格等。
條件可能性 判斷到底是用And 還是 OR
IF比較煩的地方,是它可能具有相當多的判斷條件,這個還不打緊,要命的是,往往這些條件都是你的領導、老板們口頭上隨意告訴你的:
- 如果是達到AAA就可以
- 如果還達到BBB就可以
- 如果是CCC就是這樣
...(此處省略1萬條)
煩歸煩,但是到了這一步就會比較簡單,無非就是分辨并且、或者之類的邏輯連接詞匯。
當哦們在得到各種問題條件的時候,是不是也可以用結果現行的方式去思考呢? 可能有的東西看上去寫了很多,然而稍微一分析,一句話就能概括,以便于我們理解。