You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从产品标题列中删除末尾可变长度的产品ID?

嘿,我来帮你搞定这个问题!针对你这种标题末尾带可变长度数字ID的情况,结合7000条的大数据量,给你几个实用的解决方案:

方法1:Excel公式(快速上手)

既然ID都是在标题最后,且和前面内容用空格分隔,我们可以精准定位最后一个空格的位置,截取前面的有效标题。试试这个公式(假设标题在A2单元格):

=LEFT(A2, FIND("~", SUBSTITUTE(A2, " ", "~", LEN(A2)-LEN(SUBSTITUTE(A2, " ", ""))))-1)

公式说明:

  • LEN(A2)-LEN(SUBSTITUTE(A2, " ", "")) 算出标题里总共有多少个空格
  • SUBSTITUTE(..., "~", 空格总数) 把最后一个空格替换成特殊字符~(选一个标题里不会出现的字符就行)
  • FIND("~", ...) 找到这个特殊字符的位置,减1就是有效标题的最后一位
  • LEFT(A2, 位置) 截取前面的内容,完美去掉末尾的ID

如果你的标题里有类似Gas - 6954722这种带连字符的情况,这个公式也能正常工作——它只认最后一个空格,不影响前面的标题内容。

要是你的ID都是纯数字,还可以用这个数组公式(Excel 365直接回车,旧版本按Ctrl+Shift+Enter):

=LEFT(A2, MAX(IF(ISNUMBER(--MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),0,ROW(INDIRECT("1:"&LEN(A2))))))

它会自动找到最后一个非数字字符的位置,精准截断后面的数字ID,连ID前的空格也一起去掉。

方法2:Power Query(大数据量首选)

7000条数据用公式虽然能行,但Power Query批量处理更稳定,还能重复使用步骤:

  1. 选中你的数据表格,点击数据选项卡 → 从表格/区域(Excel 2016及以后版本支持)
  2. 进入Power Query编辑器后,选中Title列,点击转换选项卡 → 拆分列按分隔符
  3. 在弹出窗口里:
    • 分隔符选择空格
    • 拆分方式选最右侧的分隔符
  4. 这时会生成两列,第一列就是去掉ID的标题,第二列是原来的ID,直接删除第二列即可
  5. 点击关闭并上载,处理好的数据就会导回Excel里

方法3:VBA宏(自动化处理)

如果以后还要频繁处理类似数据,写个简单的宏能省不少事:

Sub RemoveEndProductID()
    Dim targetRange As Range
    Dim cell As Range
    ' 假设Title列是B列,从第2行开始到最后一行数据
    Set targetRange = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)
    
    For Each cell In targetRange
        ' 找到最后一个空格的位置,截取前面的内容
        If InStr(cell.Value, " ") > 0 Then
            cell.Value = Left(cell.Value, InStrRev(cell.Value, " ") - 1)
        End If
    Next cell
End Sub

使用方法:按Alt+F11打开VBA编辑器,插入一个模块,粘贴代码,修改列号(如果Title不在B列),然后运行宏就行。

你可以先拿几条数据测试下这些方法,选最适合你的就行!

内容的提问来源于stack exchange,提问作者Dmitriy Kutuzov

火山引擎 最新活动