組出固定長度的發票號(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 吃參數,也可以接一整段範圍。這裡結果相同。