萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 辦公室軟體 >  >> Excel 教學 >> Excel 綜合

Excel 從儲存格文字中提取中文字(去除數字、英文、符號)

混雜文字中只想保留中文字?Excel 沒有內建「提取中文」函數,但可用 MID+ROW+INDIRECT 陣列公式,或 TEXTJOIN+IF+CODE 判斷字碼區間(中文 Unicode 區間約 19968~40869),逐字檢查並重組純中文字串。

經典陣列公式(Excel 2019 以前,需 Ctrl+Shift+Enter)

=TEXTJOIN("",TRUE,IF((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=19968)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=40869),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))

現代動態陣列公式(Excel 365/2021,直接 Enter)

=CONCAT(IF((CODE(MID(A1,SEQUENCE(LEN(A1)),1))>=19968)*(CODE(MID(A1,SEQUENCE(LEN(A1)),1))<=40869),MID(A1,SEQUENCE(LEN(A1)),1),""))

VBA 自訂函數(通用、效能佳)

Function GetChinese(txt As String) As String
    Dim i As Long, ch As String, res As String
    For i = 1 To Len(txt)
        ch = Mid(txt, i, 1)
        If AscW(ch) >= 19968 And AscW(ch) <= 40869 Then res = res & ch
    Next i
    GetChinese = res
End Function

將程式碼放入標準模組,儲存格直接用 =GetChinese(A1) 即可。

copyright © 萬盛學電腦網 all rights reserved