當前位置:首頁 > 科技 > 正文

IF函數不會多層嵌套?我來教你

IF 函數是一個使用頻率非常高的函數,但是很多人都在多層嵌套面前敗下陣來,前幾天有同事向我求救,讓我幫忙看看函數錯在哪了,她做得公式是這樣子的: =IF(D3<40000000,0,if(40000000<=d3<80000000,50000,if(80000000<=d3<130000000,100000,if(130000000<=d3<200000000,150000,200000))))< span=""> 我們可以看到這個同事在嵌套函數裡用了 40000000<=d3<80000000< span="">,80000000<=d3<130000000< span="">,130000000<=d3<200000000< span="">,首先這個地方就出問題了,問題就在于我們excel裡的有比較運算符(小于<< span="">,大于>,等于=,不等于<>,小于等于<=,< span="">大于等于>=)隻能是單個使用,如果非要用就要借助AND,OR了,比如80000000<=d3<130000000< span="">要表示為AND(D3>=80000000,D3<130000000)< span="">。 當然在這個公式裡是不需要A ND 的,我們看看這個同事的公式的計算結果:

我們發現我紅色框中的結果是一樣的,而D 4,D5,D6 的數值按照條件計算應該分别為5 0000 ,1 50000 ,2 00000 ,這是為什麼呢,這是因為 IF 函數是一個邏輯判斷函數, 語法: =IF(條件判斷, 結果為真返回值, 結果為假返回值) , 就是說如果條件判斷是T URE, 結果 就是第二個參數,如果是 F ALSE, 結果就是第三個參數。還是回到剛才的例子, 40000000<=d3<80000000< span="">這個是excel不認可的,結果就會被判定為false,我們可以在單元格E9和E10分别輸入“=40000000<=d3<80000000< span="">”,“=D3<80000000< span="">”,我們會看到如下結果,前面一個是false,後面一個是true。

我把公式給她改成正确的: =IF(D3<40000000,0,if(d3<80000000,50000,if(d3<130000000,100000,if(d3<200000000,150000,200000))))< span="">,可以看到我們的結果就是正确的了。

這時候她有疑問,這個不是區間的比較能取到數麼,到這裡我明白了,她還是沒真正理解if函數,我覺得我畫個圖說一下讓大家直觀感受一下。 簡化一下數字,要不太長了,看得費勁,我簡單給大家演示一下用法:

希望上面啰裡啰唆說的一大堆,大家能看明白. 接下來我說下使用if函數的注意點: 1. 讀這個函數一定要從最外層的函數讀起,一層一層往裡層讀,要不就亂了,因為這是一個邏輯函數。 2 . 嵌套最好在第三個參數位置進行嵌套,這樣不容易出錯。 3. 就是記得括号,一定要對稱,嵌套的越多越要小心。

你可能想看:

有話要說...

取消
掃碼支持 支付碼