LEFT、RIGHT,、MID這三個(gè)可以理解為按字?jǐn)?shù)提取內(nèi)容,,LEFTB、RIGHTB,、MIDB這三個(gè)可以理解為是按字節(jié)提取內(nèi)容,。他們參數(shù)都是一樣的,就是字?jǐn)?shù)和字節(jié)的區(qū)別,。 ▼一,、那什么叫字節(jié),,單字節(jié)、雙字節(jié),。 字節(jié)(Byte )是計(jì)算機(jī)信息技術(shù)用于計(jì)量存儲(chǔ)容量的一種計(jì)量單位,。 在半角輸入狀態(tài)(ASCII碼),一個(gè)英文字母(不分大小寫)占1個(gè)字節(jié)的空間,,一個(gè)數(shù)字占1個(gè)字節(jié),,一個(gè)英文狀態(tài)的標(biāo)點(diǎn)符號(hào)占1個(gè)字節(jié),叫單字節(jié)字符,;一個(gè)中文占2個(gè)字節(jié),,一個(gè)中文標(biāo)點(diǎn)符號(hào)占2個(gè)字節(jié),叫雙字節(jié)字符,。 國(guó)內(nèi),、國(guó)外絕大部分的系統(tǒng)軟件代碼都是用半角字符完成的,也就是ASCII碼,。所以我們?cè)谟幂斎敕〞r(shí)一定要默認(rèn)“半角”狀態(tài),。 舉例說(shuō)明:圖1就是用文本函數(shù)LEN和LENB來(lái)分別計(jì)算字?jǐn)?shù)和單、雙字節(jié),,更能清楚了解到字節(jié)和字?jǐn)?shù)的概念 圖1:字節(jié)和字?jǐn)?shù)的區(qū)別 ▼二、了解完單雙字節(jié),,現(xiàn)在來(lái)了解6個(gè)提取文本內(nèi)容的函數(shù),。 他們分別是:LEFT、RIGHT,、MID按字?jǐn)?shù)提取內(nèi)容,;LEFTB、RIGHTB,、MIDB按字節(jié)數(shù)提取內(nèi)容,。 ① LEFT函數(shù)是“從左邊開始按要求的字個(gè)數(shù)來(lái)提取內(nèi)容”,公式模板:LEFT(文本或單元格,,提取幾個(gè)字),。如:=LEFT('我愛中國(guó)',2) 返回的結(jié)果是“我愛”這兩個(gè)字。 ② RIGHT函數(shù)是“從右邊開始按要求的字個(gè)數(shù)來(lái)提取內(nèi)容”,,公式模板:RIGHT(文本或單元格,,提取幾個(gè)字)。如:=RIGHT('我愛中國(guó)',2) 返回的結(jié)果是“中國(guó)”這兩個(gè)字,。 ③ MID函數(shù)是“從要求的指定位置開始,,按要求的字個(gè)數(shù)來(lái)提取內(nèi)容”,公式模板:MID(文本或單元格,從第幾個(gè)字開始,,提取幾個(gè)字),。如:=MID('我愛美好的生活',3,4) 返回的結(jié)果是“美好的生”這四個(gè)字。 ④ LEFTB函數(shù)是“從左邊開始按要求的字節(jié)數(shù)來(lái)提取內(nèi)容”,,公式模板:LEFTB(文本或單元格,,提取幾個(gè)字節(jié))。 如1:=LEFTB('我愛中國(guó)',5) 返回的結(jié)果是“我愛 ”這兩個(gè)字加一個(gè)空格,。因?yàn)橐粋€(gè)中文是2個(gè)字節(jié),,5個(gè)字節(jié)表示2.5個(gè)中文,因?yàn)闆]有半個(gè)中文字,,所以用一個(gè)空格代替,,最終返回就是“我愛 ”。 如2:=LEFTB('我愛1314你',5)返回結(jié)果“我愛1”,,因?yàn)?個(gè)字節(jié)表示2個(gè)中文加1個(gè)數(shù)字,。 ⑤ RIGHTB函數(shù)是“從右邊開始按要求的字節(jié)數(shù)來(lái)提取內(nèi)容”,公式模板:RIGHTB(文本或單元格,,提取幾個(gè)字節(jié)),。如:=RIGHTB('我愛 中國(guó)',5) 返回的結(jié)果是“ 中國(guó) ”,這一個(gè)空格加2個(gè)中文,。因?yàn)榭崭褚菜阋粋€(gè)字節(jié),,一個(gè)中文是2個(gè)字節(jié)。 ⑥ MIDB函數(shù)是“從要求的字節(jié)位置開始,,按要求的字節(jié)數(shù)來(lái)提取內(nèi)容”,,公式模板:MIDB(文本或單元格,從第幾個(gè)字節(jié)開始,,提取幾個(gè)字節(jié)),。如:=MIDB('我愛美好的?生活',6,8) 返回的結(jié)果是“ 好的?生”,這一個(gè)空格+兩個(gè)中文+英文符號(hào)?+一個(gè)中文,。 解析下⑥原因:“我愛美”是6個(gè)字節(jié),,從第6個(gè)字節(jié)開始意味著“美”這個(gè)字不完整,,因?yàn)椤懊馈钡奈恢檬堑?字節(jié)和第6字節(jié)兩個(gè)字節(jié)位置組合的,。字不完整只能用空格代替,代表1個(gè)字節(jié),。英文符號(hào)?也是1個(gè)字節(jié),,所以8字節(jié)剛好是(一個(gè)空格+兩個(gè)中文+英文符號(hào)?+一個(gè)中文)。 ▼三,、6個(gè)提取內(nèi)容函數(shù)一定要配合查找函數(shù)FIND,、SEARCH和FINDB、SEARCHB使用才靈活。 FIND,、SEARCH返回的是“查找的字”所在的字個(gè)數(shù)位置,,F(xiàn)INDB、SEARCHB返回的是“查找的字”所在的字節(jié)數(shù)位置,, ① 公式模板:=FIND(要查找的內(nèi)容或單元格,,被查的內(nèi)容或單元格,從第幾個(gè)字?jǐn)?shù)開始查),; ② 公式模板:=SEARCH(要查找的內(nèi)容或單元格,,被查的內(nèi)容或單元格,從第幾個(gè)字?jǐn)?shù)開始查),; ③ 公式模板:=FINDB(要查找的內(nèi)容或單元格,,被查的內(nèi)容或單元格,從第幾個(gè)字節(jié)數(shù)開始查),; ④ 公式模板:=SEARCHB(要查找的內(nèi)容或單元格,,被查的內(nèi)容或單元格,從第幾個(gè)字節(jié)數(shù)開始查),; 注意:“要查找的內(nèi)容”字?jǐn)?shù)一定不能超過(guò)“被查的內(nèi)容”字?jǐn)?shù),,“要查找的內(nèi)容”一定是在“被查的內(nèi)容”里的,不然結(jié)果是錯(cuò)誤值,。 如圖2: 圖2:查找函數(shù)返回的字?jǐn)?shù)位置和字節(jié)數(shù)位置 ▼四、查找函數(shù)FIND和SEARCH參數(shù)都一樣,,返回的結(jié)果也一樣,,那這兩個(gè)函數(shù)有什么區(qū)別呢? ① 函數(shù) FIND與 FINDB是區(qū)分大小寫并且不允許使用通配符,。 如1:=FIND('a','AAaaA',1)返回結(jié)果是3,,因?yàn)樵贔IND和FINDB函數(shù)眼里:大寫的A和小寫的a是不一樣的,第3參數(shù)'1'表示從第1個(gè)數(shù)開始查找a,,返回的結(jié)果是第一個(gè)a的位置,,第一個(gè)a是在第3個(gè)字?jǐn)?shù)位置。 如2:=FIND('a','AAaaA',4)返回結(jié)果是4,,第3參數(shù)'4'表示從第4個(gè)數(shù)開始往后面查a,,第4個(gè)數(shù)剛好是小寫的a,所以結(jié)果返回是4,。 如3:=FIND(' ','我愛 你',1)返回的結(jié)果是3,,因?yàn)?#39;我愛'后面有一個(gè)'空格',第1參數(shù)雙引號(hào)里也有'空格',,返回結(jié)果是3,;如果第1參數(shù)雙引號(hào)里沒有'空格',,則返回的結(jié)果是第3參數(shù)的數(shù)字。 FINDB也是同理,,從第1字節(jié)或者第4字節(jié)開始查找,。 ② 函數(shù) SEARCH與 SEARCHB是不區(qū)分大小寫并且允許使用通配符。 什么是通配符,?通配符是一種特殊語(yǔ)句,,主要有星號(hào)(*)和問(wèn)號(hào)(?),用來(lái)模糊搜索內(nèi)容,。 一個(gè)星號(hào)(*)可以表示一個(gè)或無(wú)數(shù)個(gè)字符,;不確定具體有沒有內(nèi)容也可以加星號(hào)(*)。如NOTE這個(gè)單詞,,你可以通過(guò)*note查找到,,也可以通過(guò)*te查找。 一個(gè)問(wèn)號(hào)(?)僅代表一個(gè)字符,,而且這個(gè)字符必須存在,。如NOTE這個(gè)單詞,你可以通過(guò)no?e或者no??來(lái)找到,,但是note?是找不到的,,因?yàn)閚ote后面沒有內(nèi)容了;換成note*是沒問(wèn)題的,,因?yàn)?代表內(nèi)容可有可無(wú),。 總結(jié)下FIND和SEARCH區(qū)別:就是FIND區(qū)分大小寫,SEARCH能用通配符,,互補(bǔ)關(guān)系,。FINDB和SEARCHB同理。 ▼五,、案例講解 ① 案例一,、如圖3:因?yàn)榈刂凡皇翘?guī)律,第3行有兩個(gè)“市”字,,第4行沒有省份,,如果想一條公式直接完成,要嵌套很多函數(shù),,容易出錯(cuò),,這里用添加輔助列的方法,快速拆分提取內(nèi)容,。 圖3:拆分地址內(nèi)容
圖4:提取省份
圖5:提取市內(nèi)容
圖6:提取區(qū)縣市
圖7:提取街道內(nèi)容 我們通過(guò)添加輔助列的方法,,就避開了MID這個(gè)函數(shù),用更簡(jiǎn)單的方法提取出了更復(fù)雜且不是太規(guī)律的地址內(nèi)容,。 ② 案例二,、提取數(shù)字開始往后的內(nèi)容。在B2單元格輸入公式=RIGHTB(A2,LENB(A2)-(SEARCHB('?',A2,1)-1)),,利用中文是雙字節(jié),,數(shù)字是單字節(jié)來(lái)求出數(shù)字的位置。詳見圖8: |
|