我管理一个工作簿,随着产品的调度,我们会不断添加行。调度员想开始使用条形码扫描仪输入一些数据,以减少转录错误。现有的条形码输入数据类似于以下示例。
D00030827001-800649.3
D00030850013:20-800649.3
D00030850001:2-800649.4
前 9 个字符是项目编号 (D00030850)。接下来的三个字符是第一个样品编号 (013)。如果样品有一系列,则会有一个冒号和该范围内的最后一个样品 (20)。破折号后面是产品编号 (800649.3)。我试图将其分成两列,一列用于项目/样品编号,一列用于产品编号,如下所示:
D30827-1 800649.3
D30850-13:20 800649.3
D30850-1:2 800649.4
我知道如何将产品编号放入其自己的列(=MID(A1,FIND("-",A1)+1,LEN(A1))
)。我正在努力弄清楚如何将项目/样品编号放入第一列,并按上面显示的格式进行格式化。本质上,我需要第一个字符,跳过接下来的三个 0,然后是接下来的 5 位数字,然后是“-”,然后是破折号或冒号前的有效数字。如果有冒号,我需要冒号和冒号后的数字。任何帮助都将不胜感激!
答案1
我可以通过两步来完成它。
1)=IFERROR((MID(A1,FIND(":",A1)-2,FIND("-",A1)-FIND(":",A1)+2)),MID(A1,FIND("-",A1)-2,2))
返回产品和样品编号(如适用)。
2)解析步骤 1 结果中的零=IF(LEFT(B1,1)="0", MID(B1,FIND("0",B1)+1,LEN(B1)),B1)
。