拼出固定长度的发票号(TEXT + &)
测试用例
1
2
3
重置
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。
测试用例
1
2
3
重置
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。
题目
题目说明
订单系统把门店代码放在 B2、流水号放在 A2。财务要的发票号是固定格式——NY-0042——因为 PDF 版式和条码都假设四位数。请填在 Invoice number 单元格 D2。
流水号要补到四位——直接串接会变成 42,用例 2 的 7 更会少掉三个零。
题目数据
用表格查看整份数据(可选中、可复制)
| A | B | D | |
|---|---|---|---|
| 1 | Order # | Store | Invoice number |
| 2 | 42 | ny |
知识点
数字本身不带前导零,补零是格式的工作:TEXT(A2, "0000") 会把 7 变成 0007,1023 则原样保留。& 再按你写的顺序把各部分粘起来。用 UPPER 是因为门店代码导出时是小写,而发票格式要求大写。
解题思路
答案写在 D2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。
- 目标单元格是 D2
- 门店代码在 B2,流水号在 A2
- TEXT(数字, "0000") 会把流水号补成四位
- 公式形状:=UPPER(?) & "-" & TEXT(?, "0000")
官方解法
展开 2 种解法(建议先自己试一次)
解法 1:用 & 串接、用 TEXT 补零
=UPPER(B2)&"-"&TEXT(A2,"0000")
UPPER 把门店代码转大写,TEXT(A2,"0000") 强制四位,& 再把破折号放在中间。从左往右读,就等于在读发票号。
解法 2:改用 CONCAT
=CONCAT(UPPER(B2),"-",TEXT(A2,"0000"))
CONCAT 把各部分作为参数传入,之后想再接一整段区域时特别方便。输出完全一样。
函数指南
常见问题
Excel 怎么保留前导零?
把数字存成数字、用格式呈现:TEXT(A2,"0000") 会返回带零的文本。单元格里是数字 42 时,不套格式永远不可能显示成 0042,因为数字本身没有宽度。
为什么要包一层 UPPER?
导出文件的门店代码是小写,但发票版式要求大写。UPPER 让公式不受来源数据大小写的影响。
& 和 CONCAT 有区别吗?
都是串接文本。& 是运算符,接少量片段时更短;CONCAT 接收参数,也可以接一整段区域。这里结果相同。