速印 線上合併列印工具 開啟工具

合併列印工具 / 合併列印數字格式

合併列印數字格式跑掉:千分位、小數點、開頭的 0 不見怎麼辦

Excel 裡是「30,000」,合併到 Word 變成「30000」;「12.50」變成「12.5」; 電話「0912345678」少了開頭的 0。以下是原因、對照表,以及兩種解法。 以 Windows 版 Microsoft 365 為例。

為什麼格式會不見

千分位逗號、小數位數、貨幣符號、百分比,在 Excel 裡都只是顯示格式, 不是儲存格真正的內容。30,000 存的是 30000,5% 存的是 0.05。

Word 合併列印讀的是真正的內容,不是畫面上的樣子,所以格式全部留在 Excel 裡。 日期跑掉也是同一個原因,詳見合併列印日期格式。

先對症狀

Excel 畫面上Word 合併後實際存的是
30,00030000千分位是格式
12.5012.5小數位數是格式
5%0.05百分比是格式,實際值是 0.05
1,234.571234.56789儲存格存的小數比畫面上多
0912345678912345678開頭的 0 是格式補出來的,實際是數字

解法一:加上數字格式開關

  1. 按 Alt + F9 切換到功能變數代碼,欄位會顯示成 { MERGEFIELD 金額 }。
  2. 在欄位名稱後面加上開關,例如 { MERGEFIELD 金額 \# "#,##0" }。
  3. 全選後按 F9 更新,再按一次 Alt + F9 切回。
想要的樣子寫法
30,000{ MERGEFIELD 金額 \# "#,##0" }
12.50{ MERGEFIELD 單價 \# "0.00" }
1,234.57{ MERGEFIELD 金額 \# "#,##0.00" }
$1,200{ MERGEFIELD 金額 \# "$#,##0" }
0912345678{ MERGEFIELD 電話 \# "0000000000" }
5%{ = { MERGEFIELD 比例 } * 100 \# "0" }%

0 代表「這一位一定要有數字,沒有就補 0」,# 代表「有才顯示」。 電話寫十個 0,就固定補到十位數。百分比要先乘以 100,所以用公式欄位包住,% 寫在括號外面。 大括號一律用 Ctrl + F9 產生,鍵盤打的不會生效。

解法二:在 Excel 先轉成文字

Word 讀到文字就照抄。在名單旁邊新增一欄(以數值在 B2 為例),再到 Word 插入新的欄位:

想要的樣子Excel 公式
30,000=TEXT(B2,"#,##0")
1,234.57=TEXT(B2,"#,##0.00")
0912345678=TEXT(B2,"0000000000")
5%=TEXT(B2,"0%")

電話、學號、郵遞區號這類不拿來計算的資料,更根本的做法是在輸入之前就把整欄設成「文字」, 開頭的 0 從一開始就不會被吃掉。

不想加開關:Excel 顯示什麼就帶入什麼

速印讀的是 Excel 畫面上顯示的樣子,不是底層的數值。畫面上是什麼,文件裡就是什麼:

  • 1,234,567:千分位保留
  • 1,234.57:照畫面四捨五入到兩位,不會冒出一長串小數
  • $30,000:貨幣符號保留
  • 5%:百分比保留,不會變成 0.05
  • 0912345678:開頭的 0 保留

上傳 .xlsx,或直接從 Excel、Google 試算表複製貼上都可以。檔案在你的瀏覽器裡處理,不會上傳。

開啟合併列印工具

常見問題

為什麼 1,234.57 合併後變成一長串小數?
儲存格實際存的小數比畫面上多,畫面上的兩位小數只是顯示格式。 加上開關 \# "#,##0.00",或在 Excel 先用 TEXT 轉成文字。
電話號碼開頭的 0 不見了怎麼辦?
代表這欄在 Excel 裡其實是數字,畫面上的 0 是格式補出來的。 最好在輸入前就把欄位設成文字;已經輸入的可以用 \# "0000000000" 補回固定位數。
金額前面想加 NT$ 怎麼寫?
把 NT 寫在功能變數外面:NT{ MERGEFIELD 金額 \# "$#,##0" },結果是 NT$30,000。