You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel中去除LSKU末尾字母的公式问题求助

解决LSKU末尾字母移除的Excel公式问题

问题场景

你需要将以下LSKU值处理为末尾无字母的形式:

  • 000AD21961PD → 000AD21961
  • 000BP20725PA → 000BP20725
  • 00C0BC23057C → 00C0BC23057

尝试使用公式SUBSTITUTE(A7,IF(RIGHT(A7,1)="C","C"),"!")时,第三个LSKU被错误替换为00C0B!23057!,原计划删除所有!但公式不符合需求,这里给你提供正确的解决方案。

正确解决方案

方法1:固定移除末尾1个字母(适配当前场景)

如果确定每个LSKU都是末尾仅1个字母,直接用LEFT函数截取前N-1位即可,简单高效:

=LEFT(A7,LEN(A7)-1)
  • 原理:LEN(A7)获取单元格字符总长度,减1后得到需要保留的字符数,LEFT从左侧截取对应长度的内容,刚好去掉最后一位字母。
  • 测试:对三个目标值都能输出正确结果,完全匹配你的需求。

方法2:通用处理(兼容末尾多字母场景)

如果未来可能遇到末尾有多个字母的情况(比如000AD21961XYZ需要转为000AD21961),可以用这个更通用的数组公式:

=LEFT(A7,MAX(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A7,ROW(INDIRECT("1:"&LEN(A7)))),0))-1)

注意:Excel 2019及更早版本需要按Ctrl+Shift+Enter确认输入;Excel 365/2021及以后版本直接回车即可生效。

  • 原理:定位字符串中最后一个数字的位置,截取到该位置的前一位,自动移除末尾所有非数字字符,适配更复杂的场景。

原公式出错原因

你使用的SUBSTITUTE函数会替换单元格内所有匹配的字符,比如第三个LSKU00C0BC23057C里有两个C,所以两个都被替换成了!,这和你只需要移除末尾单个字母的需求不符,因此出现错误结果。

内容的提问来源于stack exchange,提问作者Jun Young Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 02:23:13