全部練習題 / 文字

組出固定長度的發票號(TEXT + &)

困難 文字
題目說明
提示 0/4
官方解法 2
–
測試案例
1
2
3
重設
提交
fx
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 更會少掉三個零。

題目資料

用表格檢視整份資料(可選取、可複製)
這道題的資料表
ABD
1Order #StoreInvoice number
242ny

觀念解析

數字本身不帶前導零,補零是格式的工作:TEXT(A2, "0000") 會把 7 變成 0007,1023 則原樣保留。& 再依照你寫的順序把各部分黏起來。會用 UPPER 是因為門市代碼匯出時是小寫,而發票格式要求大寫。

解題思路

答案寫在 D2。送出時我們會換 3 組輸入重跑你的公式,寫死數字一定過不了 —— 公式必須跟著儲存格走。

  1. 目標儲存格是 D2
  2. 門市代碼在 B2,流水號在 A2
  3. TEXT(數字, "0000") 會把流水號補成四位
  4. 公式形狀:=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 吃參數,也可以接一整段範圍。這裡結果相同。