在 Excel 中處理欄位拆解、格式解析或資料清理時,常需要找出某個特定字元或文字在字串中的位置。FIND 函數能精準回傳指定字元首次出現的位置,適合用於搭配 MID、LEFT、RIGHT 等函數進行欄位解析、代碼拆解與格式控制。它是文字處理中最常用的邏輯工具之一。
🔹快速摘要(語法、用途、常見場景)
- 用途:尋找特定字元或文字在字串中的位置
- 語法:
=FIND(要找的文字, 原文字, [起始位置])
- 常見場景:欄位拆解、格式解析、代碼定位、報表欄位控制、文字擷取輔助
一、FIND 函數語法與用途:位置導向的文字搜尋工具
語法:
=FIND(find_text, within_text, [start_num])
- find_text:要尋找的文字或字元
- within_text:原始文字字串
- start_num(可選):從第幾個字元開始搜尋,預設為 1
- 回傳結果為該文字首次出現的位置(以 1 為起點)
二、範例教學:五個基礎 + 五個進階範例
🔸基礎範例(適合初學者快速掌握用途)
範例一:尋找逗號位置
=FIND(",", "蘋果,香蕉,芒果")
回傳 3
(逗號在第 3 個字元)。
範例二:尋找文字「apple」的位置
=FIND("apple", "I like apple")
回傳 8
。
範例三:從第 5 個字元開始搜尋「a」
=FIND("a", "banana", 5)
回傳 6
。

- 從第 5 個字元開始,函數依序檢查:
- 第 5 個字元是 'n'(不符合)
- 第 6 個字元是 'a'(符合!)
- 回傳結果: 函數找到的第一個符合目標 'a' 的位置是第 6 個字元,因此回傳結果 6。
範例四:處理儲存格內容
=FIND("-", A1)
尋找 A1 中破折號的位置。
範例五:找不到指定文字時回傳錯誤
=FIND("X", "ABCDEF")
回傳 #VALUE!
。
🔸進階範例(適合報表設計與欄位拆解應用)
範例六:搭配 MID 擷取分隔符之後的文字
=MID(A1, FIND("-", A1)+1, LEN(A1))
擷取破折號之後的文字。
範例七:搭配 LEFT 擷取分隔符之前的文字
=LEFT(A1, FIND("-", A1)-1)
擷取破折號之前的文字。
範例八:搭配 SUBSTITUTE 尋找第二個逗號位置
=FIND(",", SUBSTITUTE(A1, ",", "#", 2))
將第二個逗號替換為特殊字元後定位。
範例九:批次處理整欄資料(動態陣列)
=MAP(A2:A100, LAMBDA(x, FIND(":", x)))
尋找 A2:A100 中每列冒號的位置(Excel 365)。
範例十:搭配 IF 判斷是否包含指定字元
=IF(ISNUMBER(FIND("-", A1)), "包含破折號", "未包含")
判斷 A1 是否包含破折號。
三、常見問題解答(FAQ)
Q1:FIND 和 SEARCH 有何差異?
FIND 為區分大小寫,SEARCH 不區分大小寫。
Q2:FIND 可以處理中文嗎?
可以,會正確回傳中文字元位置。
Q3:FIND 可以處理多層分隔嗎?
可以,搭配 SUBSTITUTE 或多層 FIND 使用。
Q4:FIND 可以處理整欄資料嗎?
可以,搭配 MAP 或拖曳填滿即可批次處理。
Q5:FIND 可以搭配哪些函數使用?
常見搭配 MID、LEFT、RIGHT、LEN、SUBSTITUTE、MAP、LAMBDA 等。
四、注意事項與錯誤排除
- 若找不到指定文字,會回傳
#VALUE!
錯誤 - FIND 為區分大小寫,若需不區分請改用 SEARCH
- 起始位置若小於 1 或超過文字長度,會回傳錯誤
- 中文擷取不受編碼影響,可直接操作
- 建議搭配錯誤防呆邏輯處理空白或格式異常輸入
五、延伸技巧與相關函數
- SEARCH 函數:不區分大小寫的文字搜尋
- MID 函數:擷取文字中間段落
- LEFT / RIGHT 函數:擷取文字左右側指定字元
- SUBSTITUTE 函數:替換特定字元以利定位
- MAP / LAMBDA 函數:批次處理與邏輯封裝
六、結語與延伸閱讀推薦
FIND 函數是 Excel 中最基礎的文字定位工具之一,適合用在欄位拆解、格式解析、資料清理與報表設計等情境。學會 FIND 後,你可以進一步探索:
- [SEARCH 函數教學:不區分大小寫的文字搜尋技巧]
- [MID 函數教學:擷取文字中間段落的彈性方法]
- [SUBSTITUTE 函數教學:替換字元以利格式清理]