如何判斷單元格中是否包含特定內容?三個小套路,輕松搞定!
?
作者:老菜鳥來源:部落窩教育發(fā)布時間:2019-10-21 16:41:47點擊:25393
編按:
哈嘍,大家好!在excel中判斷單元格是否包含指定內容,已經是一個老生常談的話題了,相信大家在工作中也遇到不少類似問題。今天就給大家說說解決這類問題常見的三個套路,保證招招好使!
判斷單元格是否包含特定內容是平時工作中經常會遇到的一類問題,常見于包含備注信息的表格中。例如下面這個考勤匯總表,需要根據備注中的內容判斷該員工是否存在加班的情況,就屬于這類問題。
遇到這類問題該如何處理,常用的公式做法有三種,下面為大家逐一進行介紹。
方法1:IF+COUNTIF
公式:=IF(COUNTIF(D2,"*加班*")=0,"","是")
公式解析:
COUNTIF(D2,"*加班*")是這個公式的核心部分,這個函數主要實現的是條件計數功能,基本格式為COUNTIF(條件區(qū)域,條件)。
在這個例子中,條件區(qū)域就是一個單元格“D2”,而條件則是在要判斷的內容兩邊同時加上通配符*后得到的值,實現的效果就是對滿足條件的單元格進行計數,如果包含要判斷的內容,結果為1,不包含的話結果就是0。
有了這個結果后,再使用IF函數得到最終的結果,公式=IF(COUNTIF(D2,"*加班*")=0,"","是")也就很好理解了。如果D2單元格中不包含“加班”,COUNTIF的結果就是0,IF返回對應的空值,否則返回“是”。
關于COUNTIF詳細的使用方法,小伙伴們可以參考之前的教程《countif函數的使用方法以及countif函數查重復等5個案例分享》,此處不做贅述了。
再來看看第二個方法。
方法2:IF+ISERR+FIND
公式:=IF(ISERR(FIND("加班",D2)),"","是")
公式解析:
這個公式的核心部分是FIND("加班",D2),FIND函數的基本格式為FIND(要找的內容,在哪找,從第幾個字開始找),如果第三參數不寫,表示從首字符開始找。這個公式的意思就是在D2單元格中找“加班”這兩個字,如果能找到,FIND就返回要找的內容在單元格中的位置,如果找不到就會返回一個錯誤值。
從上圖中可以看出FIND函數的效果。接下來要判斷結果是否為錯誤值,如果是錯誤值,表示沒有要找的內容,這就需要用到ISERR這個函數。ISERR函數很簡單,就是判斷一個值是否為#N/A以外的錯誤值,本例中的錯誤值為#VALUE!,因此用這個函數完全沒問題。
最后再加上IF函數,就構成了完整的公式=IF(ISERR(FIND("加班",D2)),"","是")。
相比第一個方法,這個公式略微有點難度,不過多實踐兩個函數也不失為一件美事。
最后來看看第三個方法。
方法3:IF+SUBSTITUTE
公式:=IF(SUBSTITUTE(D2,"加班","")=D2,"","是")
公式解析:
這個公式中用到了一個比較長的函數SUBSTITUTE,這個函數的功能是替換字符,格式為SUBSTITUTE(在哪里替換,要替換的內容,替換為什么,替換第幾個),如果最后一個參數不寫,表示全部替換。
公式SUBSTITUTE(D2,"加班","")的意思是把D2單元格中的“加班”兩個字替換為空,替換后的結果如圖所示。
接下來的一步比較有意思,用替換后的內容和原來的內容做比較,也就是SUBSTITUTE(D2,"加班","")=D2,如果包含加班的話,替換后的內容肯定不等于原來的單元格了,反之如果替換后的內容與原內容一樣,表示不包含要找的內容,最后還是使用IF來實現結果的輸出。
相比前兩個方法,公式=IF(SUBSTITUTE(D2,"加班","")=D2,"","是")的思路非常巧妙,也從另一個方面讓我們重新認識了SUBSTITUTE函數。
小結:站在解決問題的角度來說,第一個方法足夠了,容易理解,也比較簡單。但是站在學習的角度來說,當我們遇到一個問題時,不妨多嘗試幾種思路,一方面可以開拓自己的思維,另一方面也可以多熟悉一些函數,有了不同的解決方法,也就可以體會到研究公式函數的樂趣,很多所謂的高手大神,其實都是這樣練出來的。
大家還有什么方法呢?歡迎加群討論~
本文配套的練習課件請加入QQ群:747953401下載。
做Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!
掃下方二維碼關注公眾號,可隨時隨地學習Excel:
相關推薦:
COUNTIFS的另類用法《同樣是countifs函數,為什么同事卻使得比你好?原因在這里!》
IF函數的用法《IF函數:剝洋蔥》
查找替換的妙用《查找替換妙用第2波:早就會了?但為何別人總比你更利索?!》