你真的了解IF函數(shù)嗎? 一文讀懂excel中IF函數(shù)的深度解析

小伙伴們好啊,今天咱們一起來認(rèn)識一下IF函數(shù)。這個函數(shù)的作用是對指定條件進(jìn)行判斷,然后根據(jù)判斷結(jié)果返回不同的內(nèi)容,常用寫法是這樣的:
就相當(dāng)于是:如果……,那么……,否則……
- 第一個參數(shù),用大于、小于、等于等形式,來判斷某個條件是否成立,判斷A2單元格的數(shù)值是否大于60,B2單元格的職務(wù)是否等于“經(jīng)理秘書”等等,判斷的結(jié)果是邏輯值TRUE(條件成立)或是FALSE(條件不成立)。
- 第二個參數(shù)是在條件成立時返回的內(nèi)容,可以是一個數(shù)字、一段字符,或者是一段其他的公式。
- 第三個參數(shù)是在條件不成立時返回的內(nèi)容,也可以是數(shù)字、字符或是一段其他的公式。
舉個例子:
要對B2單元格中的分?jǐn)?shù)進(jìn)行判斷,大于60為“合格”,否則為“不合格”。
咱們就可以使用下面這個公式:
=IF(B2>60,"合格","不合格")
注意,在公式中直接返回字符時,需要在字符前后加上一對半角的雙引號。
如果B2大于60,B2>60部分返回邏輯值TRUE,IF函數(shù)返回第二參數(shù)指定的字符“合格”,否則返回第三參數(shù)指定的字符“不合格”。
剛剛這個是單個條件的判斷,使用IF函數(shù)還能完成多個條件的判斷。
如下圖,要對B列的職務(wù)進(jìn)行判斷,如果等于“秘書”,那么補(bǔ)助為1000。如果不等于“秘書”,再繼續(xù)判斷,如果等于“助理”,那么補(bǔ)助為800,否則為0。
前面咱們說過,IF函數(shù)的第二參數(shù)和第三參數(shù),可以是數(shù)值、文字,也可以是一段其他的公式。
這里咱們就要將IF函數(shù)的第三參數(shù)也寫成一段新的IF函數(shù),實現(xiàn)對B列的職務(wù)執(zhí)行兩次判斷。
=IF(B2="秘書",1000,IF(B2="助理",800,0))
最外層的IF函數(shù)先判斷 B2=”秘書” 的返回結(jié)果是不是TRUE,如果是TRUE,就返回第二參數(shù)指定的數(shù)值1000。
如果B2不等于秘書,“ B2=”秘書””得到FALSE,IF函數(shù)返回第三參數(shù)的內(nèi)容。
哪些才是最外層這個IF函數(shù)的第三參數(shù)呢?
對了,就是標(biāo)記顏色的這部分 IF(B2=”助理”,800,0) 。
在“ B2=”秘書””的判斷結(jié)果為FALSE時,標(biāo)記顏色的這部分開始干活了,先來判斷“B2=”助理””的條件是否成立,如果這部分條件判斷返回的是TRUE,則返回里面這個IF函數(shù)的第二參數(shù)800,否則返回里面這個IF函數(shù)的第三參數(shù)0。
計算過程大致是這樣的:
接下來咱們再來看看多列條件的判斷。
如下圖,如果B列的崗位是秘書,并且C列的入職年限大于1,則補(bǔ)助1000元,否則補(bǔ)助為0。
這里要同時判斷兩列條件是不是符合,IF函數(shù)功力有限,需要請?zhí)焐蕉?mdash;—AND和OR函數(shù)來幫忙。
AND函數(shù)和OR函數(shù)都是對多個參數(shù)返回的邏輯值執(zhí)行判斷。
區(qū)別在于:
- 當(dāng)所有參數(shù)返回的邏輯值都為TRUE時,AND函數(shù)才返回TRUE。
- 而OR函數(shù)則是在任意一個參數(shù)返回的邏輯值為TRUE時,就返回邏輯值TRUE。
就像下圖中,4個護(hù)士(參數(shù))分別判斷血常規(guī)正常嗎?心電圖正常嗎?肝功正常嗎?B超正常嗎?
當(dāng)每個護(hù)士(參數(shù))的判斷都是TRUE時,AND醫(yī)生最終才會下檢查結(jié)論:OK(TRUE),正常。
下圖中,4個護(hù)士(參數(shù))分別判斷血常規(guī)有問題嗎?心電圖有問題嗎?肝功有問題嗎?B超有問題嗎?
當(dāng)任意一位護(hù)士(參數(shù))的判斷是TRUE時,OR醫(yī)生就會下檢查結(jié)論:OK(TRUE),辦理住院手續(xù)吧。
回到開始的問題,咱們要對崗位和入職年限兩個條件進(jìn)行判斷,只有當(dāng) 崗位=“秘書”的判斷結(jié)果為TRUE,并且入職年限>1 的判斷結(jié)果也為TURE,才返回補(bǔ)助1000元,這里要用哪個醫(yī)生呢?對了,就是AND。
D2單元格輸入以下公式,向下復(fù)制到D8。
=IF(AND(B2="秘書",C2>1),1000,0)
以D2單元格中的公式為例,B2=”秘書”返回的結(jié)果是FALSE,C2>1返回的結(jié)果是TRUE,AND函數(shù)最終返回FALSE。IF函數(shù)根據(jù)AND函數(shù)的結(jié)果為依據(jù)進(jìn)一步進(jìn)行判斷,最終返回第三參數(shù)0。
假如咱們換一個判斷標(biāo)準(zhǔn),如果 崗位=“秘書”,或者 入職年限>1,就給1000元的補(bǔ)助,只有兩項都不符合,補(bǔ)助才是0。
這里的判斷要求是多個條件符合其一,只要把上面公式中的AND換成OR就可以。
=IF(OR(B2="秘書",C2>1),1000,0)
以D2單元格中的公式為例,B2=”秘書”返回的結(jié)果是FALSE,C2>1返回的結(jié)果是TRUE,OR函數(shù)最終返回FALSE。IF函數(shù)根據(jù)OR函數(shù)的結(jié)果為依據(jù)進(jìn)一步進(jìn)行判斷,最終返回第二參數(shù)1000。
再來說說按多個范圍區(qū)間判斷的問題。
如下圖,要根據(jù)B列的月收入進(jìn)行判斷。
標(biāo)準(zhǔn)為:
月收入低于10000為貧困型;月收入在10000至50000為溫飽型;月收入大于50000為小康型。
這里要對B列的數(shù)值進(jìn)行多輪判斷,就要用到多個IF函數(shù)的嵌套了。
咱們先把前面的判斷標(biāo)準(zhǔn)整理一下,先判斷B2是否小于10000,條件成立返回“貧困型”;如果B2不小于10000,那就繼續(xù)判斷B2是否小于50000,條件成立返回“溫飽型”;如果條件仍然不成立,就是月收入大于50000的那些了,返回“小康型”。
把上面這幾句話換成IF函數(shù)的組合,是這樣的:
=IF(B2<10000,"貧困型",IF(B2<50000,"溫飽型","小康型"))
其中紅色部分的IF函數(shù),就是前面這個IF函數(shù)的第三參數(shù)。先判斷藍(lán)色部分的條件,藍(lán)色部分的條件不成立時,再判斷紅色部分。
執(zhí)行多區(qū)間判斷時,有一點需要特別注意:前面的判斷條件不能包含后面的判斷條件。
如果將公式寫成下面這樣,再看看結(jié)果,那就全部脫貧了。
=IF(B2<50000,”溫飽型”,IF(B2<10000,”貧困型”,”小康型”))
為什么出現(xiàn)這種情況呢?
以B3單元格為例,如果先判斷2500<50000, 條件肯定是成立的,這時候IF函數(shù)返回第二參數(shù)“溫飽型”,后面的就不再判斷啦。 剛剛咱們是從第一節(jié)車廂開始往后找的,其實也可以從最后一節(jié)車廂往前找。 下面這個公式,就是先從最高的標(biāo)準(zhǔn)開始判斷,然后逐級向下。 =IF(B2>=50000,”小康型”,IF(B2>=10000,”溫飽型”,”貧困型”))
最后再補(bǔ)充一個小伙伴們經(jīng)常容易出問題的地方,比如要判斷B2的數(shù)值是否在10000至50000之間,符合條件返回“溫飽型”,不符合條件則返回”待考察”。
下面這個公式結(jié)果顯然是不對的:
=IF(10000<B2<50000,"溫飽型","待考察")
為什么出現(xiàn)誤判呢?
其實這不怪IF,是咱們的寫法有問題了。
上面這個公式中,IF函數(shù)的第一參數(shù)10000<B2<50000,運算過程為:
先判斷10000<B2,結(jié)果得到邏輯值TRUE,然后再使用TRUE與50000進(jìn)行比較。根據(jù)Excel中的潛規(guī)則,邏輯值是大于任何數(shù)值的,所以這一步就會返回邏輯值FALSE,而IF函數(shù)也最終返回第三參數(shù)的內(nèi)容了。
正確的公式應(yīng)該是這樣的:
=IF(AND(10000<B2,B2<50000),"溫飽型","待考察") 或者: =IF(AND(B2>10000,B2<50000),"溫飽型","待考察")
都可以返回正確結(jié)果。
推薦閱讀:
相關(guān)文章
看完這一篇XLOOKUP算是通透了! excel中XLOOKUP函數(shù)經(jīng)典用法總結(jié)
excel中Xlookup公式可以輕松解決我們工作中的各種查找匹配問題,今天總結(jié)了12個XLOOKUP函數(shù)經(jīng)典用法,可以直接套用2025-01-10excel怎么快速提取字符? excel表格僅提取字符的幾種函數(shù)公式
excel表格有文字、數(shù)字、字符,想要快速將字符提取出來,有哪些函數(shù)公式可以實現(xiàn)呢?詳細(xì)請看下文介紹2025-01-10Excel中關(guān)于MAX和MIN函數(shù)的這些特殊應(yīng)用你知道嗎?
說到函數(shù)MAX和MIN了基本應(yīng)用,你們可能還不知道函數(shù)MAX和MIN還有一些不一樣的應(yīng)用技巧,詳細(xì)請看下文介紹2025-01-05數(shù)據(jù)分析入門! Excel中min和max函數(shù)那些鮮為人知的用法
在EXCEL表格中,MAX函數(shù)是求取最大值的,MIN函數(shù)是求取最小值的,但今天,我們重點來看看函數(shù)MAX和MIN具體都有哪些讓人意想不到的應(yīng)用技巧2025-01-03Excel跨數(shù)據(jù)表求和indirect函數(shù)怎么用?
Excel表格中實現(xiàn)跨數(shù)據(jù)表求和的方法很多,今天我們就來看看indirect函數(shù)的用法,詳細(xì)請看下文實例教程2025-01-03終于有專門的去重函數(shù)了! Excel數(shù)據(jù)去重復(fù)值神器UNIQUE函數(shù)詳解
今天我們來了解一個Excel中的新函數(shù)—— UNIQUE, 它可以說是很多人期盼已久的函數(shù),可以幫助我們從數(shù)據(jù)區(qū)域中自動提取唯一值,就是我們常說的去重,操作也非常簡單,下面2025-01-02簡化重復(fù)套用! Excel新函數(shù)公式LET太牛了
今天跟大家分享一個新的Excel函數(shù),可以稱得上是一個具有里程碑意義的函數(shù)了,它的出現(xiàn)讓Excel函數(shù)也可以像代碼一樣優(yōu)美2024-12-30textsplit是什么函數(shù)? Excel最牛拆分截取函數(shù)的使用技巧
Excel表格中經(jīng)常會進(jìn)行拆分截取內(nèi)容,方法有很多,今天我們就來看看使用拆分截取函數(shù)textsplit實現(xiàn)方法,詳細(xì)請看下文介紹2024-12-23排序神器! Excel新函數(shù)公式Sortby用法詳解
SORTBY函數(shù)是Excel中用于基于一個或多個列的值對范圍或數(shù)組進(jìn)行排序的函數(shù),與傳統(tǒng)的SORT函數(shù)不同,SORTBY允許你指定一個或多個排序依據(jù)的列,并可以根據(jù)這些列的值進(jìn)行多2024-12-21Excel進(jìn)入函數(shù)式編程: MAP函數(shù)使用詳解及相關(guān)案例
MAP函數(shù)是Excel中一個強(qiáng)大的數(shù)組函數(shù),它允許用戶對數(shù)組的每個元素應(yīng)用同一個表達(dá)式,并返回一個新的數(shù)組,其中包含了應(yīng)用表達(dá)式后的結(jié)果,下面我們就來看看這個新函數(shù)的試2024-12-20