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

Excel中如何根据单元格前3个字符批量生成对应标签?

解决方案:根据ID前缀批量生成对应标签

方法一:使用Excel公式(快速上手,适合中小数据量)

假设你的ID数据在A列(A1是表头,数据从A2开始),在B2单元格输入以下任意一个公式,然后鼠标放在单元格右下角,当光标变成十字形时下拉填充即可:

公式1(MATCH+CHOOSE组合)

=IFERROR(CHOOSE(MATCH(LEFT(A2,3),{"182","187","196"},0),"turtles","rabbits","cats"),"None")
  • LEFT(A2,3):提取A2单元格ID的前3个字符
  • MATCH(...,{"182","187","196"},0):查找前缀在列表中的精确匹配位置
  • CHOOSE(...):根据匹配位置返回对应的标签
  • IFERROR(..., "None"):如果前缀不在指定列表中,返回"None"

公式2(VLOOKUP版本)

=IFERROR(VLOOKUP(LEFT(A2,3),{"182","turtles";"187","rabbits";"196","cats"},2,FALSE),"None")
  • 用VLOOKUP直接查找前缀,找到后返回对应标签,未匹配到则返回"None"

方法二:使用Power Query(适合超大数据量,更高效)

如果数据量极大导致公式下拉卡顿,推荐用Power Query批量处理:

  1. 选中ID列的所有数据(包含表头),点击顶部菜单栏的「数据」→「从表格/区域」,在弹出对话框中勾选「我的表格有标题」,点击确定进入Power Query编辑器
  2. 点击「添加列」→「自定义列」,在弹出窗口中:
    • 自定义列名填写「标签」(或任意你喜欢的名称)
    • 在公式框输入:
      =if Text.Start([ID],3) = "182" then "turtles" else if Text.Start([ID],3) = "187" then "rabbits" else if Text.Start([ID],3) = "196" then "cats" else "None"
      
  3. 点击「确定」,此时会自动生成新的标签列
  4. 点击「主页」→「关闭并上载」,选择将处理后的数据上载到原工作表的空白区域即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:34:59