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

Google Sheets中基于课程列分配序列ID的方法求助

在Google Sheets中按课程生成序列ID的解决方案

假设你的课程名称在A列(从A2开始为学生的课程数据),要在B列生成对应序列ID,可按以下方法实现:

方法1:基础函数组合(适合少量固定课程)

如果课程与前缀是固定对应关系(比如英语→E,数学→M),在B2单元格输入以下公式,下拉填充即可:

=CONCATENATE(
  IF(A2="英语","E",IF(A2="数学","M","")),
  TEXT(COUNTIF($A$2:A2,A2),"0000")
)

公式拆解:

  • IF(A2="英语","E",IF(A2="数学","M","")):根据课程名称返回对应前缀字母,可按需扩展更多课程的IF分支
  • COUNTIF($A$2:A2,A2):统计从A2到当前行,当前课程出现的次数,实现同课程内的递增序列
  • TEXT(..., "0000"):将序号格式化为4位数字,不足补零(如1→0001,12→0012)

方法2:动态前缀映射(适合多课程场景)

如果课程数量多,建议单独建一个课程-前缀映射表(比如C列存课程名,D列存对应前缀),用VLOOKUP替代嵌套IF,公式更简洁:

=CONCATENATE(
  VLOOKUP(A2,$C$2:$D$10,2,FALSE),
  TEXT(COUNTIF($A$2:A2,A2),"0000")
)

公式拆解:

  • VLOOKUP(A2,$C$2:$D$10,2,FALSE):从C2:D10的映射表中,根据A2的课程名查找对应前缀
  • 后续的COUNTIF和TEXT逻辑与方法1一致,负责生成补零的递增序号

注意事项

  • 确保课程名称拼写完全一致(避免“英语”和“英語”这类差异),否则COUNTIF会判定为不同课程
  • 若需要调整序号位数(比如3位),将TEXT函数中的"0000"改为"000"即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:27:30