IF函數,作為Excel中最小白的函數,相信大家都或多或少地會用一些。
但是,我們的目标是——不僅要會用,還要用精。
今天就來給大家講「判斷單元格是否包含指定内容」這類問題的三種解決思路。
希望大家,永遠都有PlanB呀~
編輯|六姑娘
作者 | 老菜鳥
老規矩,開始之前,還是先給大家介紹一些IF函數的基本用法。
1、單條件判斷
如果A1單元格值大于500,顯示“完成”,否則顯示“未完成”
=IF(A1>500,"完成","未完成")
2、區間判斷
判斷成績,小于60不及格,大于60小于80良好,大于80優秀
=IF(A1<60,"不及格",IF(A1<80,"良好","優秀"))
3、多條件“且”判斷
如果A1的值大于60并且B1不為空,顯示“已結束”否則顯示“未結束”
=IF(AND(A1>60,B1<>""),"已結束","未結束")
4、多條件“或”判斷
如果B2銷量大于1000或者C2盈利大于10000的産品屬于暢銷産品。
=IF(OR(B2>1000,C2>10000),"暢銷","不暢銷")
5、填充序号
根據B列的部門名稱,在A列按部門生成編号。
=IF(B2<>B1,1,A1 1)
好啦,接下來我們進入正題。
下面,是一個考勤彙總表,我們需要根據備注中的内容判斷該員工是否存在加班的情況。
遇到這類問題該如何處理,常用的公式做法有三種,下面為大家逐一進行介紹。
1、IF COUNTIF
公式:=IF(COUNTIF(D2,"*加班*")=0,"","是")
公式解析:
COUNTIF(D2,"*加班*"),主要實現的是條件計數功能,基本格式為COUNTIF(條件區域,條件)。
實現的效果就是對滿足條件的單元格進行計數,如果包含要判斷的内容,結果為1,不包含的話結果為0。
之後,再使用IF函數得到最終的結果。
=IF(COUNTIF(D2,"*加班*")=0,"","是")
如果D2單元格中不包含“加班”,COUNTIF的結果就是0,IF返回對應的空值,否則返回“是”。
2、IF ISERR FIND
公式:=IF(ISERR(FIND("加班",D2)),"","是")
公式解析:
FIND函數的基本格式為FIND(要找的内容,在哪找,從第幾個字開始找),如果第三參數不寫,表示從首字符開始找。
FIND("加班",D2),找得到,FIND就返回要找的内容在單元格中的位置,找不到就會返回一個錯誤值。
ISERR函數很簡單,就是判斷一個值是否為#N/A以外的錯誤值,本例中的錯誤值為#VALUE!,因此用這個函數完全沒問題。
最後再加上IF函數,就構成了完整的公式=IF(ISERR(FIND("加班",D2)),"","是")。
3、IF SUBSTITUTE
公式:=IF(SUBSTITUTE(D2,"加班","")=D2,"","是")
公式解析:
SUBSTITUTE(在哪裡替換,要替換的内容,替換為什麼,替換第幾個),如果最後一個參數不寫,表示全部替換。
公式SUBSTITUTE(D2,"加班","")的意思是把D2單元格中的“加班”兩個字替換為空,替換後的結果如圖所示。
接下來就比較有意思了,用替換後的内容和原來的内容做比較,也就是SUBSTITUTE(D2,"加班","")=D2,如果包含加班的話,替換後的内容肯定不等于原來的單元格了,反之如果替換後的内容與原内容一樣,表示沒有要找的内容。
好啦,以上就是一個簡單的問題,引發的3個IF函數公式的探讨。
大家還有沒有其他更好的解決方案呢?歡迎在評論區留言~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!