Excel Mid函數(shù)和MidB函數(shù)使用方法的7個實例,含與Len和Find組合反向提取字符或截取單位
在 Excel 中,Mid函數(shù)用于從文本中提取從指定位置開始的指定字符數(shù),而MidB函數(shù)用于從文本中提取從指定位置開始的指定字節(jié)數(shù);它們的區(qū)別為:前者把全角(如漢字)與半角(如數(shù)字和字母)都算作一個字符,后者把全角算作兩個字節(jié)、半角算作一個字節(jié),一個以字符數(shù)算,另一個以字節(jié)數(shù)算。
Mid函數(shù)和MidB函數(shù)常與 Len、LenB、Find、VlookUp、LookUp 和 Match 等函數(shù)組合使用;其中 Mid 與 Len 和 LenB 組合實現(xiàn)反向提取字符,Len 和 LenB 通常用于計算要提取字符開始位置或提取長度;Mid 與 Find 組合實現(xiàn)截取單位,F(xiàn)ind 通常用于確定要提取字符的開始位置。
一、Excel Mid函數(shù)和MidB函數(shù)的語法
1、Mid函數(shù)表達式:MID(Text, Start_Num, Num_Chars)
中文表達式:MID(文本, 起始提取位置, 提取字符數(shù))
2、MidB函數(shù)表達式:MIDB(Text, Start_Num, Num_Bytes)
中文表達式:MIDB(文本, 起始提取位置, 提取字節(jié)數(shù))
3、說明:
A、Mid函數(shù)把全角和半角字符(如漢字與字母)都算作一個字符,MidB函數(shù)把全角算作兩個字節(jié)、半角算作一個字節(jié)。
B、Start_Num 為要提取字符的起始位置,如果要提取第一個字符,則 Start_Num 為 1;Start_Num 必須大于等于 1,否則將返回值錯誤#VALUE!;如果 Start_Num 大于文本長度,將返回空值(即"");如果 Start_Num 小于文本長度,但加上 Num_Chars 后大于文本長度,則只返回到文本最后一個字符。
C、Num_Chars 為要提取字符數(shù),它必須大于或等于 0,否則將返回值錯誤 #VALUE!。
D、Num_Bytes 為要提取字符的字節(jié)個數(shù),它必須大于或等于 0,否則也返回將值錯誤 #VALUE!。
二、Excel Mid函數(shù)的使用方法及實例
(一)從第一個字符開始提取與返回空值("")的實例
1、假如要提取“Excel2016 教程”中的 Excel;雙擊 B1 單元格,輸入公式 =MID(A1,1,5),按回車,返回 Excel;雙擊 B1 單元格,把公式中的 1 改為 13,按回車,返回空值;操作過程步驟,如圖1所示:
圖1
2、公式說明:
A、公式 =MID(A1,1,5) 中,A1 為要提取字符的文本,1 為要提取字符的起始位置,5 為提取字符數(shù),公式的意思是,從“Excel2016 教程”中第一個字符(即 E)開始提取,共取 5 個字符,即提取 Excel。
B、公式 =MID(A1,13,5) 要從 A1 中的文本(“Excel2016 教程”)的第 13 個字符開始提取,由于文本只有 12 個字符(空格也算一個字符),所以返回空值(即 "")。
(二)只返回到文本最后一個字符的實例
1、假如要提取“Excel2016 教程”中的“教程”。雙擊 B1 單元格,把公式 =MID(A1,11,3) 復制到 B1,按回車,返回“教程”二字;操作過程步驟,如圖2所示:
圖2
2、在“Excel2016 教程”中,第 10 個字符為空格,第 11 字符為“教”,它后面只有一個字,而公式 =MID(A1,11,3) 要提取 3 個字符,由于從“教”字到末尾不足 3 個字,所以只提取到末尾字符。
提示:如果要提取的字符比較長,不知道要提取多少個字符,把第三個參數(shù)設置為一個比要提取字符數(shù)大的數(shù)值。
(三)提取字符數(shù)小于 0,返回 #VALUE! 錯誤實例
1、雙擊 B1 單元格,把公式 =MID(A1,6,1) 復制到 B1,按回車,返回 2;雙擊 B1,把 1 改為 0,按回車,返回空;再次雙擊 B1,把 0 改為 -1,按回車,返回值錯誤 #VALUE!;操作過程步驟,如圖3所示:
圖3
2、公式 =MID(A1,6,1) 意思從第 6 個字符開始返回 1 字符,即返回 2;公式 =MID(A1,6,0) 返回 0 個字符,即返回空;公式 =MID(A1,6,-1) 返回 -1 個字符,由于要提取的字符數(shù)必須大于 0,因此返回值錯誤 #VALUE!。
三、Excel MidB函數(shù)的使用方法及實例
(一)提取數(shù)字和字母的實例
1、假如要從“Excel2016 教程”中提取 Excel2016。雙擊 B1 單元格,把公式 =MIDB(A1,1,9) 復制到 B1,按回車,返回 Excel2016;操作過程步驟,如圖4所示:
圖4
2、公式 =MIDB(A1,1,9) 中,A1 為要提取字符的文本,1 為開始提取位置,9 為要提取的字節(jié)數(shù);公式的意思是,從字符串“Excel2016教程”的第一個位置 E 開始提取 9 個字符,恰好是 Excel2016,說明MidB函數(shù)與Mid函數(shù)一樣,把數(shù)字和字母都當作一個字節(jié)。
(二)提取漢字的實例
1、假如要從“Excel2016 函數(shù)使用教程”中提取“函數(shù)”。雙擊 B1 單元格,把公式 =MIDB(A1,11,4) 復制到 B1,按回車,返回“函數(shù)”二字;雙擊 B1,把 4 改為 5,按回車,同樣返回“函數(shù)”;操作過程步驟,如圖5所示:
圖5
2、公式 =MIDB(A1,11,4) 從第 11 個字符開始提取 4 個字節(jié),由于每個漢字為兩個字節(jié),因此提取出兩個漢字,即提取到“函數(shù)”;而公式 =MIDB(A1,11,5) 也返回“函數(shù)”,說明提取全角字符時,MidB函數(shù)會自動減掉半個字節(jié),即 5 取 4,如果取 5,則要提取的第三個字“使”會返回亂碼,因為一個漢字必須由兩個字節(jié)組成,半個字節(jié)只能是亂碼;如果“函數(shù)”二字后是 數(shù)字或字母,則會取 5,例如“Excel2016 函數(shù)2使用教程”,公式 =MIDB(A1,11,5) 返回“函數(shù)2”。
四、Excel Mid函數(shù)和MidB函數(shù)的應用實例
(一)Mid + Len函數(shù)組合實現(xiàn)反向提取字符(即從右往左提取字符)
1、假如要從右邊開始提取“Excel2016 函數(shù)使用教程”6 個漢字。雙擊 B1 單元格,把公式 =MID(A1,LEN(A1) - 6 + 1,6) 復制到 B1,按回車,返回“函數(shù)使用教程”;操作過程步驟,如圖6所示:
圖6
2、公式 =MID(A1,LEN(A1) - 6 + 1,6) 說明:
A、公式中的 6 是要提取的字符數(shù);LEN(A1) 用于計算 A1 字數(shù)個數(shù),全角與半角都算一個字符,返回結果為 16,則 LEN(A1) - 6 + 1 等于 11,即計算出要開始提取的字符,該位置恰好是“函”字。
B、則公式變?yōu)?=MID(A1,11,6),然后從第 11 個字符開始提取 6 個字符,即截取得“函數(shù)使用教程”。
提示:MidB函數(shù)也可以反向提取字符,公式 =MIDB(A1,LEN(A1) - 6 + 1,6) 用 MidB 可以這樣寫:=MIDB(A1,LEN(A1) - 6 + 1,12),把公式復制到 B2,按回車,也返回“函數(shù)使用教程”,操作過程步驟,如圖7所示:
圖7
公式 =MIDB(A1,LEN(A1) - 6 + 1,12) 中,6 為要提取的字符數(shù),12 為要提取的字節(jié)數(shù),為什么一個為 6、一個為 12?因為,Len函數(shù)全角和半角都算作一個字符,而MidB函數(shù)把全角算作兩個字節(jié)、半角算作 1 個字節(jié)。
(二)Mid + Find函數(shù)組合實現(xiàn)從任意指定字符開始提取
1、假如要提取 A 列中數(shù)字后面的單位。雙擊 B1 單元格,把公式 =MID(A1,FIND("升",A1),4) 復制到 B1,按回車,返回“升/瓶”;選中 B1,把鼠標移到 B1 右下角的單元格填充柄上,鼠標變?yōu)榧犹柡?,按住左鍵,雙擊,則提取出剩余單元格的單位;操作過程步驟,如圖8所示:
圖8
2、公式 =MID(A1,FIND("升",A1),4) 說明:
A、FIND("升",A1) 用于找出 "升" 在 A1 中文本的位置,"升" 為要查找的文本,A1 為要查找 "升" 的文本,另外,F(xiàn)IND("升",A1) 還省略了最后一個參數(shù)“查找的開始位置”,默認從第一個字符開始查找。FIND("升",A1) 返回 4。
B、則公式變?yōu)?=MID(A1,4,4),即從第 4 個字符開始截取 4 個字符,結果為“升/瓶”。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。