【EXCEL | MID用法教學】5分鐘快速搞懂MID函數(含範例教學)

MID 函數是Excel中進行文書處理的好幫手。你可以透過MID函數從選定的文字串中,提取指定數量的字符,節省大量的手動操作。

本文將會用5分鐘的時間,教會你MID函數的完整用法、範例教學、進階用法、常見錯誤等等。

因此,如果你是第一次接觸MID函數,建議可以從頭到尾看過一次,把MID函數的用法徹底搞懂,進而提升工作效率。

那麼我們就開始吧!(趕時間的人可以利用下方目錄跳轉 👇)

MID函數用法

當我們把滑鼠移到 MID 的公式時,會看到一行說明:

MID(text, start_num, num_chars)

看起來很複雜對吧!但其實改成中文就沒那麼可怕了:

MID(選定儲存格,從第幾個字元開始提取,提取幾個字元數)
  • text:選定儲存格(直接打文字也可以)
  • start_num:從第幾個字元開始提取
  • num_chars:提取幾個字元數

接著,我們來看看 MID 函數的範例:

MID範例教學 – 提取中文姓名、日期

假設我們想要提取電郵名單中每位客戶的姓氏,那麼我們就可以輸入以下公式:

=MID(B3,1,1) //從B3的第1個字元開始提取,並提取1個字元
Excel MID函數用法範例教學

那如果我們要提取電郵名單中每位客戶的名字的話,就要輸入:

=MID(B3,2,2) //從B3的第2個字元開始提取,並提取2個字元

但是,如果今天換成我們要提取的是日期的話,此時用MID函數會出現奇怪的結果:

=MID(B3,1,4) //2024/1/1在excel中是以45292的數字形式儲存,故會提取到4529

這是因為Excel中的日期是以數字形式儲存的(1900年1月1日為1;2024年1月1日是45292)。


如果想要順利提取日期的話,我們就得用YEAR函數、MONTH函數以及DAY函數:

=YEAR(B3) //提取B3的年份
=MONTH(B3) //提取B3的月份
=DAY(B3) //提取B3的日期

但萬一你堅持要用MID函數提取日期其實也可以,但就要先用TEXT函數將日期轉換為文本:

=(TEXT(B3,"yyyy/mm/md")) //將B3轉為「年年年年/月月/日日」的文字形式

接著再直接提取就可以囉!

=MID(B3,1,4)// 從B3的第1個字元開始提取,並提取4個字元

MID進階用法 – 結合SEARCH提取英文姓氏、名字

或許螢幕前的你會有疑問:中文名字通常都是3個字,用MID函數提取非常簡單,但如果是英文名字,每個人姓名的長度都不同該如何提取呢?

此時,我們可以結合SEARCH函數,先找出名字與姓氏之間的「空白格」是第幾個字元:

=SEARCH(" ",B3)//搜尋空白格在B3中是第幾個字元

接著再從第一個字元開始,提取SEARCH(” “,B5)-1個字元數,就可以提取出名字了:

=MID(B3,1,SEARCH(" ",B3)-1)//從B3的第1個字元開始提取,並提取到空白格前1個字元

最後,如果要提取出姓氏,則可以輸入以下公式:

=MID(B3,SEARCH(" ",B3)+1,100)//從B3的空白格後一個字元開始提取,並提取100個字元

值得注意的是,如果 num_chars 提取數量超過字元總數量的話,MID函數就會直接顯示到最後一個字元。

所以只要一個人的英文姓氏沒有超過100個字元數,這個公式就是可以正常提取姓氏的喔!

MID常見錯誤(#VALUE!、#NAME!、#REF!)

以下提供MID函數常見的錯誤提示:

  • #VALUE!:以下情況會顯示#VALUE!:
    • start_num小於1。
    • num_chars小於0。
  • #NAME!:通常是由於輸入了錯誤的語法,導致MID函數無法正常運作
  • #REF!:原本參照的儲存格被刪除或異常。

MID溫馨提醒

  • 如果 start_num 大於選定文字的字元數,MID函數會回傳空白格。
  • 如果 num_chars 提取數量超過字元總數量的話,MID函數就會直接顯示到最後一個字元。
  • 如果 num_chars 等於0,MID函數會回傳空白格。
  • 如果要用MID函數提取日期,需要先用TEXT函數將日期轉為文字(或者直接更改儲存格格式)。

參考資料

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *