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.
就是記得括号,一定要對稱,嵌套的越多越要小心。
|
有話要說...