Google Sheet 的 MID 函數 用來從一段文字中,找到指定位置和長度的子字串(部分文字)。這個函數非常適合在處理結構化文字資料時,找到需要的部分。
=MID(文字, 起始位置, 字元數)
參數說明
1. 文字(text):
• 原始的文字內容,可能是文字值(如 “台灣是一個美麗的地方”)或儲存格參照(如 A1)。
2. 起始位置(start_num):
• 要搜尋的子字串起始位置,以數字表示(從 1 開始計算)。
3. 字元數(num_chars):
• 從起始位置開始,輸出的字元數量。
• 如果字元數超過文字總長度,MID 只會傳回剩餘的部分字串。
基本範例
範例 1:從指定位置提取固定字元數
=MID("台灣是一個美麗的地方", 4, 2)
• 文字:”台灣是一個美麗的地方”
• 起始位置:4(從第 4 個字元開始,對應「一」)
• 字元數:2(輸出 2 個字元)
• 執行結果:”一個”
範例 2:處理儲存格內容
=MID(A1, 3, 4)
• 假設 A1:”123456789″
• 起始位置:3(從第 3 個字元開始)
• 字元數:4
• 結果:”3456″
進階應用
範例 3:輸出料號的部份資訊
假設台灣身分證字號儲存在 A1,如 “Alteon5224″:
=MID(A1, 2, 3)
• 起始位置:7(輸出第 2 個字元開始的數字)
• 字元數:4
• 結果:返回 “5224”,型號編碼。
範例 4:結合其他函數動態提取
提取最後 3 個字元:
=MID(A1, LEN(A1)-2, 3)
• LEN(A1):計算文字的長度。
• LEN(A1)-2:從倒數第 3 個字元開始。
• 結果:輸出最後 3 個字元。
範例 5:提取含符號的文字內容
假設 A1 為 “商品:電腦”,搜尋「電腦」部分:
=MID(A1, SEARCH(":", A1) + 1, LEN(A1))
• SEARCH(”:”):找到 “:” 的位置。
• SEARCH(”:”) + 1:從冒號後開始輸出。
• 結果:傳回 “電腦”。
錯誤處理
1. 起始位置超過文字長度:
• 如果起始位置大於文字總長度,MID 會返回空白。
=MID("台灣", 10, 3) → 結果:`""`
2. 字元數為負數:
• 如果字元數為負,MID 會傳回錯誤 #VALUE!。
3. 起始位置為 0 或負數:
• 如果起始位置小於 1,也會傳回錯誤 #VALUE!。
常見問題與技巧
1. 如何處理變長的文字?
• 搭配 LEN 函數 或 SEARCH 函數,動態確定長度或起始位置。
2. 是否支援非字母或數字?
• 是的,MID 支援特殊字元(如符號、空白)和多語系字元(如中文)。
3. 如何處理日期?
• 如果處理的是日期值(例如 2023/12/10),需先將其轉換為文字格式(可用 TEXT 函數)。