華文網

快速拆分儲存格技巧,中英對拆乾貨函數,一看就會

Hello,大家好,我是幫幫。今天跟大家講講如何拆分儲存格資訊。大家請看範例圖片。

我們經常會遇到,中英字元混合儲存格,需要將中文部分提取出來。講解函數之前,我們要理解,位元組和字元在電腦語言裡面的區別。

“我OK”這三個字,字串包含3個字元,4個位元組。不難得知,漢字占2位元組,英文或數位占1個位元組。字元更簡單,有1個就是1個。

這裡我們用LENB函數,可以求出A1儲存格包含了多少位元組,13個。

同理用LEN函數,求出A1儲存格,包含多少字元,10個。

如果你表格都是英文在左,漢字在右。那直接套用=RIGHT(A1,LENB(A1)-LEN(A1)),函數的意思就是右向左數,利用位元組,字元差,取三位元數,正好把漢字部分取出來。

如果要取英文,那就從左往右數,用=LEFT(A1,2*LEN(A1)-LENB(A1)),將文本字元數乘2,減去位元組數,大家想想,漢字的字元乘以2減去所有位元組,這些多出來的位元組,正好就是單字節所占的位數。7位,然後用LEFT提取7位,就能達到我們的效果。

那麼對於這種前後插入位元組的字串,

要快速的提取中文,可以使用我這個公式。{=MID(A1,MATCH(" ",MIDB(A1,ROW(INDIRECT("1:"&LEN(A1)+1)),1),0),LENB(A1)-LEN(A1))},外面的陣列大括弧是CTRL+SHIFT+回車,三鍵按上去的,向下複製就能得出結果。

有興趣的小夥伴可以看看,這個公式為什麼這麼寫。首先是INDIRECT("1:"&LEN(A1)+1),根據A1儲存格的字元數,用INDIRECT形成1:11的字串。

第二層嵌套函數,ROW(1:11),為了得到{1:11}的陣列。

MIDB(A1,ROW(INDIRECT("1:"&LEN(A1)+1)),1),利用MIDB函數,對A1儲存格{1:11}的陣列提取對應的數值,得到{"o";"f";"f";"i";"c";"e";"r";" ";" ";" ";" "}的陣列結果。

再用MATCH函數,以“ ”進行查找,查看第一次“ ”出現的位置,大家比對一下,

MIDB函數的結果陣列,第一次出現“ ”的位置是8。

在最外面用MID(A1,8 ,3)就是A1儲存格,從第八個字元開始,取三個,得出了我們的結果。

這裡的難點在於MIDB函數,這是對於{1:11}陣列結果的返回。如果是中文漢字(或者全形英文數位),MIDB會返回空格。

在這裡,幫幫希望大家科學的記錄基礎資料。這個函數對於混排提取中文可以實現一鍵成型。但是如果字串是像這樣“O我K”,或者使用了全形錄入“office幫幫忙”也不適用,

沒有完全萬能的公式,只有大家基礎資料科學錄入,以後的操作才能更方便簡單。

【如果大家喜歡幫幫,請點擊文章末尾的瞭解更多或推廣廣告,在裡面找到並關注我,我給表親們準備了更多更實用的辦公軟體技巧,一定要來唷^^,還有大量素材範本免費下載!】<——非常重要!!!