3. 样品编号与钻孔编号规则
在钻孔样品数据整理中,编号问题是最常见、也最容易被低估的质控环节。一个样品编号看似只是一串字符,但它同时承担着三重职责:标识样品的物理身份、承载钻孔与样段的位置信息、支撑后续化验数据与地质编录的关联。一旦编号重复、缺位或格式不统一,轻则导致化验结果错配,重则使整段资源量估算建立在错误的数据关联之上。本节围绕编号规则的设计、唯一性校验的实现、前缀后缀的结构化拆分,以及重复编号的识别与修正,给出一套可直接落地的操作方法。
一、编号规则应当包含哪些信息
钻孔样品的编号通常采用“钻孔号 + 样品类型码 + 样品顺序号”的组合结构。以常见的岩芯化学样为例,编号 ZK1203-HX-0045 中,ZK1203 是钻孔编号,HX 表示化学样类型,0045 是该钻孔内该类样品的流水号。这种结构的好处是:编号本身即可反解出归属钻孔和样品类型,无需依赖外部字段;同时流水号定长补零,保证按文本排序时顺序正确。
规则设计需要明确三个约束。第一,钻孔编号必须与地质编录、测井、剖面图使用的钻孔号完全一致,包括大小写和连接符,不能出现 ZK1203 与 zk-1203 并存的情况。第二,样品类型码应使用固定码表,例如 HX 化学样、GW 光谱样、BS 薄片样、TM 探针样,避免同一类型出现多种写法。第三,流水号在同一钻孔、同一类型内连续且唯一,位数固定,不足补零。这三条约束是后续所有校验逻辑的基础。
二、唯一性校验的实现思路
唯一性校验的本质是判断“编号”这一列是否存在重复值,但实际工作中需要区分两种重复:完全重复(整串编号一模一样)和逻辑重复(编号字符串不同,但拆分后钻孔号、类型码、流水号三者相同)。前者用条件格式或计数即可发现,后者必须拆分后才能识别。
在 Excel 中,完全重复可用 =COUNTIF(A:A,A2)>1 标记;逻辑重复则需要先拆分出三个组成部分,再以“钻孔号&类型码&流水号”构造组合键,对组合键做计数。若组合键计数大于 1,说明存在逻辑重复。此外还应校验流水号的连续性:对同一钻孔同一类型分组后,检查流水号是否从 1 开始、有无跳号。跳号本身不一定是错误,但必须能解释——例如样品被废弃、合并或改号,都应在备注中留痕。
三、前缀后缀拆分:把编号变成可校验的字段
拆分是校验的前提。以固定分隔符“-”连接的编号,可用“分列”功能按分隔符拆分,也可用公式拆分。假设编号在 A 列,拆分公式如下:
钻孔号:=LEFT(A2,FIND("-",A2)-1)
剩余部分:=MID(A2,FIND("-",A2)+1,99)
类型码:=LEFT(B2,FIND("-",B2)-1)
流水号:=MID(B2,FIND("-",B2)+1,99)
流水号数值:=VALUE(D2)
拆分后应重点检查四类异常:钻孔号不在钻孔主表中(说明钻孔号拼写错误或该钻孔尚未登记);类型码不在码表中(说明类型码写错或使用了非标准码);流水号不是纯数字(说明混入了字母或空格);流水号位数与规则不符(说明补零不规范)。这四类检查可以用 COUNTIF 配合主表和码表批量完成,结果以“异常类型”列标注,便于逐条处理。
四、重复编号的识别与修正实战
下面以一个假设的示例说明处理过程。某钻孔 ZK1203 的化学样数据中,拆分后发现两条记录的组合键均为 ZK1203|HX|0045,但原始编号分别为 ZK1203-HX-0045 和 ZK1203-HX-45。前者流水号补零到四位,后者未补零,字符串不同但逻辑相同,属于典型的格式不一致导致的逻辑重复。
处理时不能简单删除一条。应先核对两条记录的采样位置:若采样起止深度不同,说明是两个真实样品,其中一条编号错误,应将未补零的那条改为下一个可用流水号(如 0046),并检查 0046 是否已被占用;若采样深度完全相同,说明是同一样品被重复录入,应保留信息完整的一条,删除另一条,并在质控记录中注明删除原因和原始行号。修正后重新计算组合键,确认计数全部为 1,同时检查流水号序列是否连续、有无因改号产生的空缺。
对于批量数据,建议建立一张“编号质控表”,字段包括:原始编号、钻孔号、类型码、流水号、组合键、组合键计数、异常类型、处理方式、处理人、处理日期。这张表既是修正过程的记录,也是后续复核的依据。修正完成后,还应用修正后的编号回查化验数据表,确认化验结果能通过编号正确关联到样品,避免出现“样品改了号、化验单没改”的脱节。
五、把规则固化为可重复执行的检查
编号质控不应依赖一次性的人工排查。把上述拆分公式、组合键计数、主表与码表比对做成模板中的固定列,每次导入新数据即自动计算异常标记,就能把编号问题拦截在数据入库之前。规则清晰、拆分规范、校验自动、修正留痕,这四点做到,样品编号这一最基础的质控环节才算真正闭环。