在 Excel 或 Google 試算表中,布林搜尋多個關鍵字。
更新:更新版 Excel 搜尋多個關鍵字的文章、如果使用 Google 試算表則請參考更新版文章:Google 試算表 (google sheet) 搜尋一個或多個關鍵字
搜尋 A2 儲存格的內容,是否有「吸星大法」這個關鍵字。如果有找到顯示「1」,如果沒有則顯示「0」。
B2 儲存格 = COUNT(FIND("吸星大法", A2))
如果只有使用 FIND 函數,沒有找到顯示 #VALUE! ,如果有找到則顯示大於或等於 1 的正整數。資料要進一步處理並不方便。
Excel 說明文件 提到
Google 說明文件 提到
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 函數。
更新:更新版 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 或 1 ,方便接下來使用 AND / OR / NOT 邏輯函數。
0 等同於邏輯值 FALSE,其他數值 (包含負數) 等同於邏輯值 TRUE。
B2 儲存格也可以改寫成: B2 儲存格 = IF(ISERROR(FIND("吸星大法", A2)), FALSE, TRUE)
、或 = ISNUMBER(FIND("吸星大法", A2)) 但是 COUNT 寫法相對簡潔許多,以下以 COUNT 寫法為主。
【搜尋多個關鍵字】
(點圖可以放大)
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 函數。
👉 歡迎直接動手編輯 (線上 Google 試算表)
參考資料
- 用EXCEL做布林判斷的函數?? | Yahoo奇摩知識+
- Excel-搜尋多個字串(FIND) @ 學不完.教不停.用不盡 :: 痞客邦 PIXNET ::
- COUNT 函數 - Office 支援
- 邏輯函數 (參照) - Office 支援
- AND 函數 - Office 支援
- OR 函數 - Office 支援
- NOT 函數 - Office 支援
- worksheet function - Excel formula to convert boolean values into {0, 1} - Super User
- INT 函數 - Office 支援
留言
張貼留言