Excel 布林搜尋多個關鍵字

在 Excel 或 Google 試算表中,布林搜尋多個關鍵字。

更新:更新版 Excel 搜尋多個關鍵字的文章、如果使用 Google 試算表則請參考更新版文章:Google 試算表 (google sheet) 搜尋一個或多個關鍵字

【搜尋一個關鍵字】

先說明處理一個關鍵字的狀況:
(點圖可以放大)


搜尋 A2 儲存格的內容,是否有「吸星大法」這個關鍵字。如果有找到顯示「1」,如果沒有則顯示「0」。

B2 儲存格 = COUNT(FIND("吸星大法", A2))

如果只有使用 FIND 函數,沒有找到顯示 #VALUE! ,如果有找到則顯示大於或等於 1 的正整數。資料要進一步處理並不方便。


Excel 說明文件 提到
若您不想將參照中的錯誤值、邏輯值以及以文字表示的數字納入計算中,請使用 COUNT 函數。
所以使用 COUNT 函數,修改回傳結果將沒有找到顯示 #VALUE! 改成顯示「0」。如果有找到大於或等於 1 的正整數改成顯示「1」。兩種數值方便資料再處理。

Google 說明文件 提到
The number 0 is logically false; all other numbers (including negative numbers) are logically true.
0 等同於邏輯值 FALSE,其他數值 (包含負數) 等同於邏輯值 TRUE。
將資料轉成 0 或 1 ,方便接下來使用 AND / OR / NOT 邏輯函數。


B2 儲存格也可以改寫成: B2 儲存格 =  IF(ISERROR(FIND("吸星大法", A2)), FALSE, TRUE)
、或  =  ISNUMBER(FIND("吸星大法", A2)) 但是 COUNT 寫法相對簡潔許多,以下以 COUNT 寫法為主。


【搜尋多個關鍵字】

(點圖可以放大)

布林運算子有 AND (且)、 OR (或)、及 NOT (非) 三種。因為 Google 試算表不支援 XOR (邏輯互斥),所以跳過不說明。

1. AND (且): 搜尋 A2 儲存格的內容,是否同時有「吸星大法」跟「易筋經」兩個關鍵字。如果符合條件顯示「TRUE」,如果沒有符合則顯示「FALSE」。

B2 儲存格 = AND(COUNT(FIND("吸星大法", A2)), COUNT(FIND("易筋經", A2)))

2. OR (或): 搜尋 A2 儲存格的內容,是否有「吸星大法」或「易筋經」其中一個關鍵字。如果符合條件顯示「TRUE」,如果沒有符合則顯示「FALSE」。

C2 儲存格 = OR(COUNT(FIND("吸星大法", A2)), COUNT(FIND("易筋經", A2)))

3. NOT (非): 搜尋 A2 儲存格的內容,是否不包含「吸星大法」的關鍵字。如果符合條件顯示「TRUE」,如果沒有符合則顯示「FALSE」。

D2 儲存格 = NOT(COUNT(FIND("吸星大法", A2)))

如果要將布林值 (boolean) 回傳結果,改成整數 (1, 0),加上 INT 函數即可。
INT(TRUE) 回傳 1、INT(FALSE) 回傳 0

【區分大小寫】
如果關鍵字包含英文,會有大小寫議題。因為 FIND 函數會區分大小寫,如果搜尋結果要不區分大小寫,需要改用 SEARCH 函數

留言