国产一区二区欧美精品免费-欧美国产日韩在线视频-欧美亚洲国语精品一区二区-欧美激情五月综合啪啪-国产69精品麻豆久久久久-亚洲人成精品久久久久桥网站-欧美刺激肥熟在线视频-十七岁日本免费完整版BD-黑夜在线拖拽不卡第一页

`
閱: 4156 | 回: 1
用公式提取Excel單元格中的漢字 Excel基礎(chǔ) , 編號:0456 快速回復(fù)
發(fā)表于2015/10/25 14:40:43 樓主 
頭像 等級:初學(xué)者
積分:0
財富值:0.00
身份:普通用戶
用公式提取Excel單元格中的漢字
對于一個混雜各種字母、數(shù)字及其他字符和漢字的文本字符串,要提取其中的漢字,在Excel中通常可用下面的公式。例如下圖A列中的字符串,要在B列提取其中的漢字(或詞語)。如果漢字位于字符串的開頭或結(jié)尾,用LEFT或RIGHT函數(shù)即可提取,例如上圖中A2:A4區(qū)域中的字符串。在B2中輸入下面的公式:
    =LEFT(A2,LENB(A2)-LEN(A2))
    就會返回字符串中開頭的幾個漢字。
    說明:LENB函數(shù)和LEN函數(shù)都可用返回文本字符串中的字符數(shù),不同的是,LENB函數(shù)會將每個漢字(雙字節(jié)字符)的字符數(shù)按2計數(shù),LEN函數(shù)則對所有的字符,無論是單字節(jié)還是雙字節(jié)都按1計數(shù),因而公式中的“LENB(A2)-LEN(A2)”返回文本字符串中的漢字個數(shù)。
    同樣對于A6:A8區(qū)域中的字符串,在B6中用RIGHT函數(shù)即可:
    =RIGHT(A6,LENB(A6)-LEN(A6))
    如果漢字位于字符串的中間,可使用下面的數(shù)組公式。例如圖中A10:A12區(qū)域中的字符串,在B10中輸入數(shù)組公式:
    =MID(A10,MATCH(2,LENB(MID(A10,ROW(INDIRECT("1:"&LEN(A10))),1)),),LENB(A10)-LEN(A10))
    公式輸入完畢,按Ctrl+Shift+Enter結(jié)束。
    說明:公式先用MID函數(shù)將字符串中的每個字符分解到到一個字符數(shù)組中,然后用LENB函數(shù)返回各字符的的字符數(shù),對于漢字會返回“2”。用MATCH函數(shù)取得第一個“2”的位置,即第一個漢字的位置,最后再用MID函數(shù)提取漢字。
    使用上述公式時要求字符串中的漢字是連續(xù)的,中間沒有其它字符分隔。如果字符串中的漢字之間有其它字符分隔,例如上圖中的A14單元格,要提取其中的所有漢字,可用下面的自定義函數(shù)。方法是:
    1. 按Alt+F11,打開VBA編輯器,單擊菜單“插入→模塊”,在代碼窗口中輸入粘貼下面的代碼:
Function 提取漢字(sString As String) As String
Dim regEx As Object
Set regEx = CreateObject("VBScript.RegExp")
With regEx
    '搜索整個字符串
    .Global = True
    '匹配非漢字
    .Pattern = "[^\u4e00-\u9fa5]"
    '將字符串中的非漢字替換為空
    提取漢字 = .Replace(sString, "")
End With
Set regEx = Nothing
End Function
    說明:上述代碼定義了一個自定義函數(shù)“提取漢字”。代碼利用RegExp對象使用正則表達(dá)式匹配模式,清除字符串中的所有非漢字,得到其中的漢字。
    2. 返回Excel工作表界面,在B14單元格中輸入公式:
    =提取漢字(A14)
    即可取得A14單元格字符串中的所有漢字。

我的個性簽名
發(fā)表于 2016/11/21 16:21:00   
頭像 等級:學(xué)者
積分:53
財富值:5
身份:普通用戶
看看
我的個性簽名

快速回復(fù)

目前不允許游客發(fā)表,請 登錄 注冊 后再發(fā)貼。