Excel如何批量去除字符串尾部的数字?

Excel如何批量去除字符串尾部的数字?
最新回答
↗雾里↖看花☆

2021-12-18 09:19:13

在Excel中批量去除字符串尾部的数字,可根据不同情况选择以下方法:

一、尾部数字长度相同的情况

若字符串后的数字位数固定,例如均为4位,可使用切片函数截取非数字部分。

  • 公式:=LEFT(A2,LEN(A2)-4)
  • 说明

    LEN(A2)获取字符串总长度。

    LEFT(A2,LEN(A2)-4)从左侧截取总长度减4的字符数。

    示例:原字符串为cxd1301,处理后结果为cxd。

二、尾部数字长度不同的情况

若字符串后的数字位数不固定,需定位第一个数字的位置并截取其左侧部分。

  • 公式:=MID(A2,1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
  • 说明

    FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789")批量查找所有数字的位置。

    MIN()获取第一个数字的位置,-1用于排除数字本身。

    示例:原字符串为cxd123,处理后结果为cxd。

三、去除字符串中所有数字(包括开头和结尾)

若需提取纯字母或中文字符,可使用正则表达式匹配非数字部分。

  • 公式:=REGEXP(A2,"[A-z]+",0)(仅英文)或=REGEXP(A2,"[^d]+",0)(含中文)
  • 说明

    [A-z]+匹配所有大小写字母,[^d]+匹配所有非数字字符。

    示例:原字符串为123小杜cxd456,处理后结果为小杜cxd。

四、仅去除尾部数字(含中文、英文混合情况)

若字符串含混合字符但需仅去除尾部数字,需结合定位和截取逻辑。

  • 公式:=LEFT(A2,LEN(A2)-LEN(0+RIGHT(A2,MATCH(FALSE,ISNUMBER(0+MID(A2,1+LEN(A2)-ROW(INDIRECT("1:"&LEN(A2))),1)),0)-1))))
  • 说明

    从右向左定位第一个非数字字符的位置,计算需截取的长度。

    示例:原字符串为123小杜cxd456,处理后结果为123小杜cxd。

五、智能填充(快速但需校验)

若数据量较小或模式简单,可手动输入示例后使用Ctrl+E智能填充。

  • 步骤

    在目标列首行手动输入预期结果(如cxd对应原字符串cxd1)。

    选中目标列,按Ctrl+E自动填充。

  • 注意:需检查填充结果,避免因模式复杂导致错误。

总结建议
  • 简单场景:优先使用切片函数(方法一)或正则表达式(方法三)。
  • 复杂场景:结合分列工具和定位逻辑(方法四),或使用VBA自定义函数。
  • 快速处理:智能填充(方法五)适合小规模数据,但需人工校验。