← 記事一覧へ戻る

Wordの差し込み印刷で日付が数字になる・金額のカンマが消える|症状別コピペで直す書式スイッチ5つ

Excelの一覧からWordで差し込み印刷すると、日付が「45900」や英語順になる、金額の¥やカンマが消える、郵便番号の先頭の0が消える。原因はWordが「値」しか受け取らないことです。この記事では、Alt+F9でフィールドコードを開き、症状別にコピペで貼れる書式スイッチ(\@・\#)5つを表で解説します。

差し込み印刷の設定は終わった。プレビューを見たら、請求日が「45900」になっている。金額は「120000」でカンマがない。Excelではちゃんと「2026年9月10日」「¥120,000」と表示されていたのに。

Excelの一覧からWordへ差し込み印刷をしていると、設定は合っているのに見た目だけおかしい、という壁に必ず一度ぶつかります。毎月、出力してから手で直しているなら、その15分は今日でなくせます。

原因はひとつで、WordはExcelから「値」だけを受け取り、表示形式(書式)は受け取らないからです。だからWord側で「この値をこう表示して」と指定する必要があります。それが書式スイッチで、症状ごとにコピペで貼れます。

この記事では、症状別のスイッチ5つと、貼っても直らないときの3つの確認を、請求書の例でまとめます。

この記事でわかること

  • 日付・金額・郵便番号が崩れる原因(Wordは値だけ受け取る)
  • Alt+F9 でフィールドコードを開き、スイッチを足して戻す、の3手順
  • 症状別にコピペで貼れる書式スイッチ5つ(日付・和暦・カンマ・¥・郵便番号)

結論:Alt+F9 で開いて、スイッチを足して、Alt+F9 で戻す

やることは3手順です。

  1. Word で Alt+F9 を押す(Macは fn+option+F9)。差し込みフィールドが { MERGEFIELD 請求日 } のようなコードで表示される
  2. フィールド名の後ろに、症状に合ったスイッチを足す。例:{ MERGEFIELD 請求日 \@ "yyyy年M月d日" }
  3. もう一度 Alt+F9 で表示を戻し、F9 でプレビューを更新する
症状貼るスイッチ
日付が数字や英語順になる\@ "yyyy年M月d日"
和暦にしたい\@ "ggge年M月d日"
金額のカンマが消える\# "#,##0"
¥を付けたい\# "¥#,##0"
郵便番号の先頭の0が消えるExcel側で文字列にする(後述)

差し込みフィールドの日付が「45900」から「2026年9月10日」に直った様子

なぜ崩れるのか:Wordは「値」だけを受け取る

Excelのセルには「値」と「表示形式」の2つがあります。「2026/9/10」と見えているセルの中身は、実は 45900 という数字(1900年1月1日から数えた日数)で、「日付として表示する」という表示形式がかぶさっています。金額の「¥120,000」も、中身は 120000 で、¥とカンマは表示形式です。

差し込み印刷でWordが受け取るのは、この中身の値だけです。表示形式は来ません。だから、

  • 日付は 45900 のような数字や、9/10/2026 のような英語順で出る
  • 金額は 120000 で、¥もカンマも消える
  • 郵便番号の 0123456 は、数字として扱われて先頭の 0 が落ちる

という症状になります。Word側で「値をこう表示して」と指定するのが、書式スイッチです。

昔の解決策「DDE接続」について

古いWordでは、データの読み込み方式を「DDE」に切り替えるとExcelの表示形式がそのまま来ました([ファイル]→[オプション]→[詳細設定]→「文書を開くときにファイル形式を確認する」)。今のWordでも使えますが、接続が不安定になりやすく、Macでは選べません。書式スイッチで直すほうが確実で、どのバージョンでも動きます。

基本操作:フィールドコードの表示と、スイッチの書き方

Alt+F9 で「コード」を表示する

差し込みフィールドは、ふだん «請求日» のように見えています。Alt+F9 を押すと、文書内のすべてのフィールドが { MERGEFIELD 請求日 } というコード表示に切り替わります。もう一度押すと戻ります。

1つのフィールドだけ切り替えたいときは、そのフィールドをクリックして Shift+F9 です。

Alt+F9でフィールドコードを表示し、MERGEFIELDの後ろにスイッチを足した状態

スイッチの型は2つだけ

  • \@ "……":日付・時刻の書式(@ は「日付」と覚える)
  • \# "……":数値の書式(# は「数字」と覚える)

フィールド名の後ろに半角スペースを空けて、スイッチと " で囲んだ書式を書きます。{ } の波かっこはキーボードで打たないでください。コード表示のまま、既存の { MERGEFIELD 請求日 } の中に文字を足すだけです。

編集が終わったら Alt+F9 で戻し、F9 でフィールドを更新するとプレビューに反映されます。

症状別コピペ表:5つの型

症状原因貼るコード(例)出力
日付が「45900」や「9/10/2026」になる日付の値だけが来ている{ MERGEFIELD 請求日 \@ "yyyy年M月d日" }2026年9月10日
和暦で出したい同上{ MERGEFIELD 請求日 \@ "ggge年M月d日" }令和8年9月10日
金額のカンマが消える数値の値だけが来ている{ MERGEFIELD 金額 \# "#,##0" }120,000
¥を付けたい同上{ MERGEFIELD 金額 \# "¥#,##0" }¥120,000
小数点以下が「.0」で出る/逆に消える同上{ MERGEFIELD 単価 \# "#,##0" }(整数)/\# "#,##0.00"(2桁固定)1,500/1,500.00

日付の書式は、Excelの表示形式とほぼ同じ書き方です。

  • yyyy:西暦4桁 M:月(1〜12) MM:月(01〜12) d:日 dd:日(01〜31)
  • ggg:元号(令和) e:元号の年 → ggge年 で「令和8年」
  • 曜日を付けたい:\@ "yyyy年M月d日(aaa)" → 2026年9月10日(木)

月は大文字の M です。小文字の m は「分」になるので、yyyy年m月d日 と書くと月の位置に「0」が出ます。日付が変なときは、まずここを疑ってください。

郵便番号の先頭の0:Excel側で文字列にするのが確実

0123456 の先頭の 0 が落ちるのは、Wordが数値として受け取っているからです。\# "000-0000" のような数値書式で桁を補う方法もありますが、ハイフンの扱いでつまずきやすく、おすすめしません。

確実なのは、Excel側で郵便番号の列を「文字列」にしておくことです。

  1. Excelで郵便番号の列を選ぶ
  2. [ホーム]→表示形式のドロップダウン →「文字列」
  3. すでに 0 が落ちているセルは、123-4567 のようにハイフン付きで入力し直す(文字列なので 0 も残る)

文字列にしておけば、Wordはそのまま文字として受け取ります。電話番号(先頭が 0)も同じ理由で文字列にしておくと安全です。

直らないときの3つの確認

① F9 でプレビューを更新したか

スイッチを足しても、プレビューは自動では変わりません。フィールドを選んで F9(文書全体なら Ctrl+A → F9)で更新します。[差し込み文書]タブの「結果のプレビュー」を一度オフ→オンにしても更新されます。

② Excel側の値が「数値」か「文字列」か

\# は数値にしか効きません。Excel側の金額が文字列(セルの左上に緑の三角、左寄せ)だと、スイッチを付けても変わりません。Excelで列を選んで[データ]→[区切り位置]→「完了」で数値に直してから、もう一度差し込みます。

逆に、日付が文字列で入っている(2026/9/10 と打っただけで日付になっていない)ときは \@ が効きません。Excelでセルを日付形式にして入力し直すのが早いです。

③ 1件目だけ直って、2件目以降が直っていない

ラベルや名簿のように、1ページに複数のレコードを並べる文書では、1件目のフィールドを直しても、2件目以降には反映されません。[差し込み文書]→「複数ラベルに反映」(ラベルの更新)を押すと、1件目の設定が全レコードにコピーされます。

請求書のように1ページ1件の文書なら、フィールドは1つずつなので、この問題は起きません。

請求書での実例:4か所をまとめて整える

請求書のテンプレートで、書式が崩れやすいのは次の4か所です。まとめて直しておくと、以降は触らずに済みます。

場所フィールドコード
請求日{ MERGEFIELD 請求日 \@ "yyyy年M月d日" }
支払期限{ MERGEFIELD 支払期限 \@ "yyyy年M月d日" }
小計・消費税・合計{ MERGEFIELD 合計 \# "¥#,##0" }
郵便番号(宛先)Excel側で文字列。Wordはスイッチなし

消費税の計算はWordではなくExcel側で列を作っておきます。Wordの数式フィールドでも計算はできますが、端数処理を揃えるのが面倒で、金額の確認もExcelのほうがしやすいからです。

Before / After:手作業とどれだけ変わるか

Before(出力後に手で直す)After(スイッチをテンプレに入れる)
毎月の作業日付と金額を1件ずつ書き換え。20件で15分差し込むだけ。0分
ミス手直し漏れ・桁の打ち間違い起きない
翌月また同じ手直しテンプレートに設定が残る

スイッチはWordのテンプレート側に保存されます。一度直せば、翌月は差し込むだけです。

まとめ

  • 崩れる原因は、WordがExcelの「値」だけを受け取り、表示形式を受け取らないから
  • 直し方は Alt+F9 → スイッチを足す → Alt+F9 → F9 の3手順
  • 日付は \@ "yyyy年M月d日"、金額は \# "¥#,##0"。月は大文字の M
  • 郵便番号・電話番号はExcel側で文字列にしておく
  • 直らないときは、F9 の更新・Excel側の値の種類・複数ラベルの反映を確認する

よくある質問(FAQ)

Q1:Web版(ブラウザの)Wordでもできますか?

Web版Wordには差し込み印刷の機能がありません。デスクトップ版のWordで作業してください。作ったテンプレートをWeb版で開いても、フィールドは保持されます。

Q2:Excel側で「2026年9月10日」という文字列にしてしまえば早くない?

はい、早いです。差し込みに使う一覧を「表示専用」として割り切れるなら、Excelで =TEXT(A2,"yyyy年M月d日") の列を作り、その列を差し込むと、Word側のスイッチは不要になります。ただし、その列は日付として計算できなくなるので、元の日付列は残しておいてください。

Q3:Macでは Alt+F9 が効きません

Mac版Wordでは fn+option+F9 でフィールドコードの表示を切り替えます。効かない場合は、フィールドを右クリック →「フィールドコードの表示/非表示」でも切り替えられます。スイッチの書き方はWindowsと同じです。

Q4:和暦の元号が出ず、西暦のまま、または「g」と表示される

Wordの表示言語(編集言語)が日本語になっていないと、ggg が元号として解釈されません。[ファイル]→[オプション]→[言語]で、編集言語に日本語が入っているか確認してください。それでも出ないときは、Excel側で =TEXT(A2,"ggge年M月d日") の列を作って差し込むのが確実です。

次の一段:請求書を毎月「作る」作業そのものを減らす

書式スイッチをテンプレートに入れておけば、差し込み印刷の見た目で悩むことはなくなります。その先で「差し込み印刷の設定から見直したい」「連続でPDF保存したい」「請求書の作成そのものを自動化したい」なら、次の記事が役に立ちます。

毎月の請求書作成を丸ごと仕組みにしたい場合は、こちらからご相談ください。


※本記事のWord画面は、操作の流れがわかるように作成した説明用の再現イメージです。ボタンの配置や表記はお使いのバージョン(Microsoft 365・Word 2021 など)によって多少異なる場合があります。