您的位置:首頁>正文

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

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幫幫忙”也不適用, 沒有完全萬能的公式, 只有大家基礎資料科學錄入, 以後的操作才能更方便簡單。

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

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示