在excel中判斷儲存格是否包含指定內容,已經是一個老生常談的話題了,相信大家在工作上也遇到不少類似問題。今天就跟大家說說解決這類問題常見的三個套路,保證招招好使!
判斷儲存格是否包含特定內容是平時工作中常會遇到的一類問題,常見於包含備註資訊的表格中。例如下面這個考勤總結表,需要根據備註中的內容判斷該員工是否有加班的情況,就屬於這類問題。
遇到這類問題該如何處理,常用的公式做法有三種,以下為大家逐一介紹。
方法1:IF COUNTIF
#公式:=IF(COUNTIF(D2,"*加班*")=0, "","是")
公式解析:
COUNTIF(D2,"*加班*")
是這個公式的核心部分,這個函數主要實現的是條件計數功能,基本格式為COUNTIF(條件區域,條件)。
在這個例子中,條件區域就是一個單元格“D2”,而條件則是在要判斷的內容兩邊同時加上通配符*後得到的值,實現的效果就是對滿足條件的單元格進行計數,如果包含要判斷的內容,結果為1,不包含的話結果就是0。
有了這個結果後,再使用IF函數得到最終的結果,公式=IF(COUNTIF(D2,"*加班*")=0,"", "是")也就很好理解了。如果D2儲存格中不包含“加班”,COUNTIF的結果就是0,IF傳回對應的空值,否則回傳“是”。
再來看看第二個方法。
方法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函數。
小結:站在解決問題的角度來說,第一個方法夠了,容易理解,也比較簡單。但站在學習的角度來說,當我們遇到一個問題時,不妨多嘗試幾種思路,一方面可以開拓自己的思維,另一方面也可以多熟悉一些函數,有了不同的解決方法,也就可以體會研究公式函數的樂趣,很多所謂的高手大神,其實都是這樣練出來的。
相關學習推薦:excel教學
以上是實用Excel技巧分享:判斷儲存格是否包含特定內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!