在 excel 中,提取指定長(zhǎng)度的字符有兩個(gè)函數(shù),分別為Mid函數(shù)和Midb函數(shù),前者用于提取指定長(zhǎng)度的字符個(gè)數(shù),后者用于提取指定長(zhǎng)度的字節(jié)個(gè)數(shù)。用Mid函數(shù)提取時(shí),無(wú)論是漢字、字母還是數(shù)字都算一個(gè)字符;用Midb函數(shù)提取時(shí),漢字算兩個(gè)字節(jié),數(shù)字和字母算一個(gè)字節(jié)。一般情況下,它們從左向右提??;但也可以反向提取,即從右向左提取。以下就是 Excel Mid函數(shù)與Midb函數(shù)的使用方法且含正向和反向取值的具體操作實(shí)例,實(shí)例中操作所用版本均為 Excel 2016。
一、Excel Mid函數(shù)語(yǔ)法
1、返回字符個(gè)數(shù)的表達(dá)式:MID(Text, Start_Num, Num_Chars)
中文表達(dá)示:MID(文本, 起始位置, 提取字符長(zhǎng)度)
2、返回字節(jié)個(gè)數(shù)的表達(dá)式:MIDB(Text, Start_Num, Num_Bytes)
中文表達(dá)示:MIDB(文本, 起始位置, 提取字節(jié)長(zhǎng)度)
3、說(shuō)明:
A、start_num 為要提取字符的起始位置,它必須大于等于 1,否則會(huì)返回錯(cuò)誤;如果 start_num 大于文本長(zhǎng)度,將返回空;如果 start_num 小于文本長(zhǎng)度加上 Num_Chars 大于文本長(zhǎng)度,只返回到文本末尾的字符。
B、Num_Chars 為要提取字符的個(gè)數(shù),它必須大于 0,否則會(huì)返回 #VALUE! 錯(cuò)誤。
C、Num_Bytes 為提取字符的字節(jié)個(gè)數(shù),它必須大于 0,否則也返回 #VALUE! 錯(cuò)誤。
二、Excel Mid函數(shù)的使用方法
(一)截取中文字符
1、選中 H4 單元格,輸入公式 =MID(B4,3,2),按回車,返回“短袖”,操作過(guò)程步驟,如圖1所示:
圖1
2、說(shuō)明:B4 的內(nèi)容為“粉紅短袖襯衫”,start_num 為 3,Num_Chars 為 2,即從第三個(gè)字符開(kāi)始提取,提取字符串的長(zhǎng)度為 2,因此返回“短袖”;說(shuō)明MID函數(shù)把每個(gè)漢字算一個(gè)字符。
(二)截取字母與數(shù)字組成的的字符串,并演示 Num_Chars + Start_num 超過(guò)文本長(zhǎng)度和 Start_num 為 0 的情況
1、把公式 =MID(“Excel 2016”,7,4) 復(fù)制到 A1 單元格,按回車,返回 2016;把 4 改為 6,結(jié)果也返回 2016;再把 7 改為 0,結(jié)果返回 #VALUE! 錯(cuò)誤;操作過(guò)程步驟,如圖2所示:
2、說(shuō)明:第一個(gè)公式 =MID(“Excel 2016”,7,4) 從第 7 位(空格算一個(gè)字符)開(kāi)始取值,取 4 個(gè),返回 2016;第二個(gè)公式 =MID(“Excel 2016”,7,6) 也從第 7 位開(kāi)始取值,取 6 個(gè),但從第 7 位到文本末尾只有 4 個(gè)字符,因此只取 4 個(gè);第三個(gè)公式 =MID(“Excel 2016”,0,6) 從 0 開(kāi)始提取,由于 Mid函數(shù)從 1 算起,因此返回 #VALUE! 錯(cuò)誤。
(三)截取中文、字母與數(shù)字組成的的字符串,并演示 Start_num 大于文本長(zhǎng)度的情況
1、把公式 =MID(“Excel 2016 基礎(chǔ)教程”,12,4) 復(fù)制到 A1 單元格,按回車,返回“基礎(chǔ)教程”;把 12 改為 18,按回車,返回“空”操作過(guò)程步驟,如圖3所示:
2、說(shuō)明:第一個(gè)公式 =MID(“Excel 2016 基礎(chǔ)教程”,12,4) 從第 12 位開(kāi)始截取,即從“基”字開(kāi)始截取,截取 4 個(gè)字符,恰好截取到“基礎(chǔ)教程”,說(shuō)明無(wú)論是漢字還是字母或數(shù)字,Mid函數(shù)都算一個(gè)字符;第二個(gè)公式 =MID(“Excel 2016 基礎(chǔ)教程”,18,4) 從第 18 位開(kāi)始截取,由于文本長(zhǎng)度只有 15 位,開(kāi)始位置大于文本長(zhǎng)度,返回空格。
(四)反向取值(即從右往左取值)
1、假如要從倒數(shù)第 4 位取值且只取 4 個(gè)字符。把公式 =MID(A1,len(A1) – 4 + 1,4) 復(fù)制到 B1 單元格,如圖4所示:
圖4
2、按回車,返回“基礎(chǔ)教程”,如圖5所示:
3、說(shuō)明:公式先用 Len函數(shù)返回字符串 A1 的長(zhǎng)度,然后用它減倒第 4 位再加 1,這樣就能定位到要截取字符串開(kāi)始的位置,截取長(zhǎng)度為 4,因此返回“基礎(chǔ)教程”四個(gè)字。如果要截取倒數(shù)第三位,只需把 4 改為 3,則公式變?yōu)?=MID(A1,LEN(A1) – 3 + 1,3),如圖6所示:
圖6
結(jié)果返回“礎(chǔ)教程”,如圖7所示:
圖7
三、Excel Midb函數(shù)的使用方法
(一)截取中文、字母與數(shù)字組成的字符串
1、把公式 =MIDB(A1,12,8) 復(fù)制到 B1 單元格,按回車,返回“基礎(chǔ)教程”四個(gè)字,操作過(guò)程步驟,如圖8所示:
圖8
2、說(shuō)明:公式從第 12 開(kāi)始截取,第 12 位正是“基”字,截取長(zhǎng)度為 8 個(gè)字節(jié),每個(gè)漢字占兩個(gè)字節(jié),因此取得四個(gè)漢字。
(二)反向取值
1、假如要從倒數(shù)第四個(gè)字節(jié)開(kāi)始截取且僅取四個(gè)字節(jié)。把公式 =MIDB(A1,LEN(A1) – 4 + 1,4) 復(fù)制到 B1 單元格,按回車,返回“基礎(chǔ)”兩個(gè)字,操作過(guò)程步驟,如圖9所示:
圖9
2、說(shuō)明:Midb函數(shù)的反向取值與Mid函數(shù)相同,截取倒數(shù)第幾個(gè)字節(jié)就減幾,然后加 1;例如再截取倒數(shù)第二個(gè)字節(jié),公式變?yōu)椋?MIDB(A1,LEN(A1) – 2 + 1,2)。
更多Excel的相關(guān)技術(shù)文章,請(qǐng)?jiān)L問(wèn)Excel使用教程欄目進(jìn)行學(xué)習(xí)!