每天跟李銳學習職場辦公必備乾貨!高效工作,快樂生活。
IF函數是Excel中最常用的函數之一,凡工作中涉及到條件邏輯判斷、多層級條件嵌套判斷的問題,都可以用IF函數來解決。而且IF函數與很多函數結合使用,能發揮意想不到的強大作用,屬於職場辦公必備函數。
為了讓大家認識IF函數那些不為人知的強大功能,本文貼合辦公實際場景,整理了多種IF函數的應用方法,除了原理和基礎性講解外,還提供了使用場景介紹,幫助讀者加深理解,便於在自己的實際工作中直接借鑑和使用。
由於正文字數限制,本教程給出Excel案例和公式解法,對公式的原理解析和詳細說明請點擊本文底部的「閱讀原文」獲取。
適用對象:本文面向的讀者包括所有需要用到查找引用數據的用戶,無論是初入職場的應屆畢生生,還是在職場拼殺多年的白領精英,都將從本文找到值得學習的內容。
軟體版本:本文的寫作環境是Window 10家庭版作業系統上的簡體中文版Excel 2013。本文絕大多數內容也適用於Excel的早期版本(2010、2007和2003),或者英文版和繁體中文版,所以讀者大不必因自用版本不同而過多擔心。
本文學習要點
1、IF函數語法解析及基礎用法
2、IF函數單條件判斷
3、IF函數單條件多層級嵌套條件判斷
4、IF函數或關係多條件判斷
5、IF函數且關係多條件判斷
6、IF函數複雜多條件判斷
7、IF函數根據條件求和
8、IF函數根據條件求平均值
9、IF函數排除錯誤值匯總
10、IF函數提取數據並轉換報表結構
11、IF函數提取不重複值列表
12、IF函數構建內存數組輔助其它函數多條件判斷
1、IF函數語法解析及基礎用法
▼
IF 函數是 Excel 中最常用的函數之一,它可以對值和期待值進行邏輯比較。IF 函數最簡單的形式表示:
如果(內容為 True,則執行某些操作,否則就執行其他操作)
因此 IF 語句可能有兩個結果。第一個結果是比較結果為 True,第二個結果是比較結果為 False。
下面結合一個實際案例來幫助初學者理解IF函數的用法。
在表格左側的姓名和性別是數據源區域,要根據員工的性別判斷退休年齡,男性退休年齡為60歲,女性退休年齡為55歲。
在C2單元格輸入以下公式,並將公式向下填充。
=IF(B2="男",60,55)
IF函數的第一參數B2="男"用於判斷公式所在行的員工性別是否為男性,如果是,則返回邏輯值TRUE,公式結果選擇IF函數的第二參數60;如果不是男性,則返回邏輯值FALSE,公式結果選擇IF函數的第三參數55。
2、IF函數單條件判斷
▼
上節教程中我們掌握了IF函數的基礎用法,這次來結合實際案例來介紹一下IF函數基礎用法的具體應用方法。
表格左側是數據源區域,黃色區域是公式區域
已知員工的在職狀態和工齡,要根據員工是否試用期和工齡是否滿5年來計算員工補貼。
1、 試用期員工補貼200元
2、 工齡滿5年的轉正員工補貼1000元
3、 工齡滿5年的轉正員工補貼500元
在D2單元格輸入以下公式,並向下填充。
=IF(B2="試用期",200,IF(C2>=5,1000,500))
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
3、 IF函數單條件多層級嵌套條件判斷
▼
IF函數的嵌套使用,可以輕鬆實現多條件多層級判斷,下面結合一個實際案例來介紹。
數據源中是學生的成績,黃色區域輸入公式,根據規則判定學生的成績等級。
u100分等級為滿分
u達到90及以上等級為優秀
u達到80及以上等級為良好
u達到60及以上等級為及格
u60以下等級為不及格
在C2輸入以下公式,並向下填充。
=IF(B2=100,"滿分",IF(B2>=90,"優秀",IF(B2>=80,"良好",IF(B2>=60,"及格","不及格"))))
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
4、IF函數或關係多條件判斷
▼
IF函數不但可以實現單條件判斷,還可以搞定多條件判斷。
多條件判斷下咱們分為或關係、且關係、複雜關係判斷三節課來介紹。
這次先來介紹或關係的多條件判斷,也就是多個條件中只需滿足其中一條即算滿足條件。
下面來看具體案例。
數據源中包含員工姓名和部門,要根據部門來計算交通補貼。
市場部和銷售部的人員交通補貼是200元,其他部門無交通補貼。
黃色區域輸入公式
在C2單元格輸入以下公式,並向下填充。
=IF((B2="銷售部")+(B2="市場部"),200,0)
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
5、IF函數且關係多條件判斷
▼
上一節課介紹了IF函數或關係的多條件判斷方法。
這次再來介紹且關係的多條件判斷,也就是多個條件必須同時滿足才算滿足條件。
下面來看具體案例。
在這個案例中,表格左側是數據源區域,該企業要根據管理層的KPI績效和任職時長判斷該名管理者是否具備晉級資格。
數據源中包含員工的KPI得分和任職時長信息,要在黃色區域輸入公式,自動判斷該名員工是否可晉級,如果滿足晉級要求,返回「晉級」,否則保持空白。
企業規定晉級需要同時滿足以下兩個條件:
1、 KPI得分大於85分
2、 任職時長滿1年
在D2單元格輸入以下公式,並向下填充。
=IF((B2>85)*(C2>=1),"晉級","")
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
6、IF函數複雜多條件判斷
▼
IF函數除了簡單的或關係多條件,且關係多條件判斷外,對於比較複雜的且、或摻雜的多條件判斷也照樣搞定!
下面結合一個實際案例具體介紹。
如果覺得這些案例有用,就轉給朋友們看看吧~
數據源中左側是已知條件,包括性別和年齡,黃色區域輸入公式,自動判斷退休否。
判斷依據如下:
1、 如果為男性,則滿60歲退休
2、 如果為女性,則滿55歲退休
在D2輸入以下公式,並向下填充。
=IF((B2="女")*(C2>=55)+(B2="男")*(C2>=60),"退休","")
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
7、IF函數根據條件求和
▼
IF函數除了自身具備條件判斷功能外,工作中還經常與其他函數搭配,產生更強大的功能。
下面介紹一個IF函數配合SUM函數實現條件求和的用法。
表格左側是數據源區域,其中包含學生的性別和成績信息,現在要對所有男生的成績求總和。
在E2輸入數組公式,按<Ctrl+Shfit+Enter>組合鍵。
=SUM(IF(B2:B8="男",C2:C8))
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
8、IF函數根據條件求平均值
▼
IF函數除了自身具備條件判斷功能外,工作中還經常與其他函數搭配,產生更強大的功能。
下面介紹一個IF函數配合AVERAGE函數實現條件求平均值的用法。
表格左側是數據源區域,其中包含學生的性別和成績信息,現在要對所有男生的成績求平均值。
在E2輸入數組公式,按<Ctrl+Shfit+Enter>組合鍵。
=AVERAGE(IF(B2:B8="男",C2:C8))
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
9、IF函數排除錯誤值匯總
▼
工作中經常遇到數據源存在錯誤值的情況,這時如果直接使用SUM函數求和會返回錯誤結果,採用IF函數配合可以排除錯誤值求和,提高工作效率。
看了這麼多乾貨,記得轉給朋友們看看呀~
數據源中存在兩個錯誤值,現在需要排除錯誤值對所有銷售業績匯總。
在D2輸入數組公式,按<Ctrl+Shift+Enter>組合鍵。
=SUM(IF(ISERROR(B2:B8),0,B2:B8))
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
10、IF函數提取數據並轉換報表結構
▼
工作中經常會遇到轉換數據結構的需求有木有?
比如從系統導出的數據表,不是你想要的結構,面對成千上萬條記錄要轉換表格布局,你知道怎麼做嗎?
靈活利用IF函數可以很便捷的解決很多類似的問題,下面就結合一個實際案例來介紹提取數據並轉換報表結構的方法。
上圖左側A:B列是系統導出的數據源的原始結構,右側D:G區域是想要轉換成的表格結構。
可以看到,系統導出的原始數據中,將每個姓名下的性別、年齡、成績放置在同一列(B列)中,而我們需要做的是將性別、年齡、成績這些數據都分別放置在不同列上。類似這種將一列混雜數據提取並拆分多列放置的需求,要想到利用條件判斷函數IF來實現。
下面介紹提取和拆分思路,以及具體方法。
首先理順思路:
1、 先用IF函數判斷數據的相對位置,分別提取性別、年齡、成績信息到不同列
2、 將公式結果轉換為值,避免後續步驟中公式結果由於引用位置變動而再次變更
3、 利用篩選刪除冗餘的行記錄,僅保留需要的數據行
4、 修飾報表
下面分步驟來介紹:
步驟1:先用IF函數判斷數據的相對位置,分別提取性別、年齡、成績信息到不同列
如上圖所示,為了方便讀者對照,保留數據源不動,在右側轉換。
其中D:E的數據是由數據源直接複製得來,F:H列的黃色區域是輸入公式生成的。
在F2輸入以下公式,並向下填充。
=IF(D2="","",E2)
在G2輸入以下公式,並向下填充。
=IF(D2="","",E3)
在H2輸入以下公式,並向下填充。
=IF(D2="","",E4)
這一步原理是利用了單元格的相對引用,實現了姓名所在位置和需要提取數據的偏移調用,利用IF實現條件判斷,不符合條件的位置返回空白,僅提取符合條件的數據。
步驟2:將公式結果轉換為值,避免後續步驟中公式結果由於引用位置變動而再次變更
選中F2:H22這部分由公式生成的黃色區域,按<Ctrl+C>複製→按<Ctrl+Alt+V>選擇性粘貼→選擇【值】→【確定】,將公式結果轉換為值。
步驟3:利用篩選刪除冗餘的行記錄,僅保留需要的數據行
如上圖所示,將包含空行的數據表篩選後,按「姓名」列選擇空行,刪除空行,取消篩選後即可得到右側的報表結果。
步驟4:修飾報表,提取無用的數據前綴。
選中左側表格中的「信息」列將其刪除
選中從「性別」到「成績」三列,按<Ctrl+H>打開【查找和替換】對話框
【查找內容】輸入*:
【替換為】保留默認的空值
單擊【全部替換】按鈕。
這個思路和方法都很贊,轉給朋友們分享一下吧~
這樣就完成了數據提取並轉換報表結構的需求。
11、IF函數提取不重複值列表
▼
提取不重複值列表也是IF函數一個經典的應用,下面結合一個案例具體介紹。
上圖左側是數據源區域,其中包含重複姓名,需要在黃色區域輸入公式,排除重複,提取不重複值列表。
先給出公式解法,再解析原理。
在C2單元格輸入以下數組公式,按<Ctrl+Shift+Enter>組合鍵結束輸入,並向下填充。
=INDEX(A:A,SMALL(IF(MATCH(A$2:A$11,A$2:A$11,)=ROW($1:$10),ROW($2:$11),4^8),ROW(A1)))&""
公式暫時看不懂沒關係,先把教程收藏下來吧!
下面介紹長公式構建方法和函數套用思路,並解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
12、IF函數構建內存數組輔助其它函數多條件判斷
▼
IF函數不但能獨自搞定條件判斷功能,而且在工作中經常輔助其它函數產生更為強大的功能。
為了讓大家了解並掌握IF函數強大的輔助功能,下面就結合一個具體案例,來介紹IF函數通過構建內存數組,輔助VLOOKUP函數實現逆向查找的功能。
如上圖所示,左側是數據源區域,包含業務員姓名,編號和銷售額,右側黃色區域輸入公式,需要按照編號提取對應的業務員姓名。
我們都知道VLOOKUP函數的基礎用法中,只能從左向右查找,而這個案例中,要查找的業務員姓名卻在編號列左側,無法使用VLOOKUP函數直接調取數據,這時就要藉助IF函數構建內存數組,輔助實現逆向查找(從右往左找)的功能了。
先給出公式,再解析原理。
在F2單元格輸入以下公式,並向下填充。
=VLOOKUP(E2,IF({1,0},$B$2:$B$12,$A$2:$A$12),2,0)
下面解析公式原理,
(公式原理解析和說明請點擊本文底部的「閱讀原文」獲取)
這麼多的乾貨,自己收藏的同時還可以轉給你身邊需要的人哦~
李銳
微軟全球最有價值專家MVP
新浪微博Excel垂直領域第一籤約自媒體
百度名家,百度閱讀認證作者
每日分享職場辦公技巧教程
高效工作,快樂生活!
微博@Excel_函數與公式
微信公眾號(ExcelLiRui)
長按下圖,即可關注。高效工作,快樂生活。
如果覺得本文還不錯,就轉給朋友們看看唄~
關注這個直播間,免費跟李銳學Excel
【史上最全】VLOOKUP函數應用教程
【初學者福音】史上最全SUM函數應用教程
▼點擊左下方「閱讀原文」,訂閱完整版教程。