如何将Product Code拆分为字母与数字并分栏存储?
我来帮你搞定这个产品代码拆分的需求!根据你给出的这些代码(RMMI001, CMCM009 这类),下面给你两种常用的解决方案,分别适合非编程的Excel场景和批量处理的编程场景:
方案1:Excel中拆分(适合日常表格处理)
假设你的原产品代码存在A列(从A2单元格开始),可以用以下公式分别提取字母和数字部分,存入B、C列:
提取字母部分(B2单元格)
如果是Excel 365/2021及以上版本,用TEXTBEFORE更简洁:
=TEXTBEFORE(A2,{"0","1","2","3","4","5","6","7","8","9"},,1)
要是用的是老版本Excel,用兼容公式:
=LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
提取数字部分(C2单元格)
同样,新版本用TEXTAFTER:
=TEXTAFTER(A2,{"0","1","2","3","4","5","6","7","8","9"},,1)
老版本兼容公式:
=RIGHT(A2,LEN(A2)-SUMPRODUCT(--ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*1)))
输入公式后下拉填充,就能批量完成所有代码的拆分啦。
方案2:Python脚本拆分(适合批量/自动化处理)
如果你的产品代码数量很大,或者需要和其他流程联动,用Python+正则表达式会更高效。下面是完整的代码示例,拆分后还能模拟表格列的存储:
import re import pandas as pd # 你的产品代码列表 product_codes = [ "RMMI001", "RMMI001", "CMCM009", "ASCMOT064", "ASPMOA023", "CMCM009", "CMCM012", "CMCM001", "ASCMBW001", "RMMI001", "TMHO002", "TMSP001", "TMHO002", "TMDMST003" ] # 定义拆分函数,匹配字母+数字的格式 def split_code(code): match_result = re.match(r'([A-Z]+)(\d+)', code) if match_result: return (match_result.group(1), match_result.group(2)) return (code, "") # 兼容不符合格式的异常代码 # 批量拆分所有代码 split_results = [split_code(code) for code in product_codes] # 转为DataFrame,模拟Excel的列存储 result_df = pd.DataFrame({ "原产品代码": product_codes, "字母部分": [res[0] for res in split_results], "数字部分": [res[1] for res in split_results] }) # 打印结果或者导出为Excel文件 print(result_df) # result_df.to_excel("拆分后的产品代码.xlsx", index=False)
运行代码后,你会得到一个包含三列的表格数据,直接导出就能存成Excel文件使用。
内容的提问来源于stack exchange,提问作者prabhu prasad
相关产品推荐
相关产品推荐

