如何用Excel公式提取信用评级中的字母部分?
Excel提取信用评级中的纯字母部分
下面提供几种实用的公式方法,覆盖不同Excel版本需求:
方法1:通用数组公式(支持多数Excel版本)
在目标单元格输入以下公式,旧版本按Ctrl+Shift+Enter执行,Excel 365/2021直接回车:
=TEXTJOIN("",TRUE,IF(ISNUMBER(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)*1),"",MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))
原理:逐个拆分单元格内的字符,判断是否为数字——是数字就跳过,非数字(字母)则保留,最后把所有保留的字母拼接成字符串。
方法2:FILTERXML简化公式(支持带该函数的版本)
如果你的Excel支持FILTERXML,可以用更简洁的公式:
=FILTERXML("<t><s>"&SUBSTITUTE(A1,"","</s><s>")&"</s></t>","//s[not(number(.))]")
它会把每个字符拆成XML节点,筛选出非数字的节点内容,直接得到纯字母结果。
方法3:VBA自定义函数(灵活扩展)
如果需要批量处理或后续要调整规则,可通过VBA写自定义函数:
- 按
Alt+F11打开VBA编辑器 - 插入新模块,粘贴以下代码:
Function GetLetters(rng As Range) As String Dim s As String, c As String s = rng.Value For i = 1 To Len(s) c = Mid(s, i, 1) If c Like "[A-Za-z]" Then GetLetters = GetLetters & c Next i End Function
- 返回Excel,在单元格输入
=GetLetters(A1)即可提取纯字母。
内容的提问来源于stack exchange,提问作者IamaNOOB
相关产品推荐
相关产品推荐

