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幫幫忙”也不适用,沒有完全萬能的公式,隻有大家基礎數據科學錄入,以後的操作才能更方便簡單。
【如果大家喜歡幫幫,請點擊文章末尾的了解更多或推廣廣告,在裡面找到并關注我,我給表親們準備了更多更實用的辦公軟件技巧,一定要來唷^^,還有大量素材模闆免費下載!】<——非常重要!!!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!