夜雨聆风学习资料网

ARTICLE · 1124137

附 Excel 公式:批量生成 EAN-13 校验位|柏斯特

附 Excel 公式:批量生成 EAN-13 校验位|柏斯特

附 Excel 公式:批量生成 EAN-13 校验位|柏斯特

上一条我们讲了校验位算法。这一条,把算法变成可以直接复制粘贴的 Excel 公式——三条场景、三种难度,按需取用。

本篇结构一览(示意图)

01
、场景 1:单条算校验位

假设 A2 单元格是 12 位数字(690123456789),要在 B2 里显示第 13 位(校验位):

```excel

=MOD(10 - MOD(SUMPRODUCT(--MID(A2, ROW(INDIRECT("1:12")), 1) * {1,3,1,3,1,3,1,3,1,3,1,3}), 10), 10)

```

直接 Ctrl+C 复制这条公式,粘到 B2,回车,B2 就出现 2。

如果 A2 是 13 位,这条公式会自动算错(因为 MID 越界返回空值)。所以提前把 A 列格式设为"文本",并严格保持 12 位。

> 提示:把公式里 INDIRECT("1:12") 改成 INDIRECT("1:11"),就变成 UPC-A 的算法。

02
、场景 2:批量算校验位

把你的 12 位数字全部填到 A 列(A2 到 A1001),B2 公式下拉填充即可。

但 B 列算出来的只是数字,不是带前导 0 的字符串。如果你有产品号是 690012345678(前导 0),下拉后会显示 2 而不是 02。

修正版(B 列始终是 2 位字符串):

```excel

=TEXT(MOD(10 - MOD(SUMPRODUCT(--MID(A2, ROW(INDIRECT("1:12")), 1) * {1,3,1,3,1,3,1,3,1,3,1,3}), 10), 10), "00")

```

或者更简单的拼接(直接得到 13 位完整条码):

```excel

=A2 & TEXT(MOD(10 - MOD(SUMPRODUCT(--MID(A2, ROW(INDIRECT("1:12")), 1) * {1,3,1,3,1,3,1,3,1,3,1,3}), 10), 10), "00")

```

C 列直接出现 6901234567892,复制到设计稿就能用。

03
、场景 3:校验你手上的条码

如果你拿到的不是 12 位而是 13 位,想确认校验位算的对不对:

```excel

=(MOD(10 - MOD(SUMPRODUCT(--MID(A2, ROW(INDIRECT("1:12")), 1) * {1,3,1,3,1,3,1,3,1,3,1,3}), 10), 10) = VALUE(RIGHT(A2, 1))) * 1

```

结果:

· 1:校验位正确

· 0:校验位错误(这条码可能有问题)

加一层 IF 包一下:

```excel

=IF(MOD(10 - MOD(SUMPRODUCT(--MID(A2, ROW(INDIRECT("1:12")), 1) * {1,3,1,3,1,3,1,3,1,3,1,3}), 10), 10) = VALUE(RIGHT(A2, 1)), "通过", "❌ 校验失败")

```

配合"条件格式",C 列就能变成"绿对勾 / 红叉"的视觉——这种表格贴到车间墙上,整个团队一秒看懂。

04
、进阶玩法:1 步生成整个 SKU 库

假设你 A 列有产品编号(SKU001、SKU002 ……),想自动生成 690123456789X + SKU 对应的 EAN-13:

· 690123456789001 —— =A2 & TEXT(MOD(10 - MOD(SUMPRODUCT(--MID(A2, ROW(INDIRECT("1:12")), 1) * {1,3,1,3,1,3,1,3,1,3,1,3}), 10), 10), "00"),红色 T 恤

· 690123456789002 —— ……,蓝色 T 恤

公式只算前 12 位,所以 A 列写 15 位也无所谓——MID 只截前 12 位。但请注意:GS1 不允许用这种"前缀 + SKU 拼接"的方式作为合规 EAN-13——这只是给你"内部打码"用,不能挂亚马逊、上沃尔玛。合规 EAN-13 必须由"厂商识别代码 + 产品代码 + 校验位"严格三段组成。

05
、常见报错与解决

· #VALUE! —— A2 是空或含非数字,检查 A 列格式(设为文本 + 12 位)

· 计算结果始终是 0 —— INDIRECT 失效,把公式粘到单元格双击触发重算

· 0 与 00 反复横跳 —— 单元格格式混了,把 B 列格式设为"文本"或"自定义 00"

· 校验一直失败 —— A 列里有空格,套一层 TRIM(A2)

06
、写在最后

Excel 公式不是万能的,它解决的是 80% 卖家的"中尾段"需求。如果你正在做以下事,建议直接用 Python / 条码字体 / GS1 官方工具:

· 一次生成 1 万条以上

· 要输出为 PDF / ZPL(斑马标签机)格式

· 需要 GS1 标准编码(带 AI 标识符)

回复"校验工具",领这份 Excel 模板(含单条、批量、校验、错误高亮 4 个 Sheet),打开就能用。

END

柏斯特|10 年涉外知产与跨境商事服务

香港 + 英国双主体,全球商标/专利/版权 / TRO 诉讼 / 离岸公司 / 条码一站式

已服务 50000+ 出海企业

为什么选择柏斯特:

· 全球化服务网络:香港 + 英国本土主体,多法域落地能力· 专家型团队:前审查员 + 资深代理人 + 涉外律师三重把关· 全链条闭环:从注册、年费、异议无效到 TRO 诉讼、平台申诉一气呵成· 懂出海场景:深度服务主流跨境电商平台,理解卖家真实痛点

长按识别二维码,关注公众号

相关学习资料