Excelでは「2026年8月17日」なのに、Wordに差し込むと「46251」という数字になる。
カンマが消える。郵便番号の先頭の0が落ちる。
原因は1つです。
Wordに渡るのが、Excelの画面の見た目ではなくセルの中身の値だからです。
直し方は症状で決まります。
- 日付が
8/17/2026の形 → Word側でもExcel側でも直せる(直し方1・2) - 日付が
46251のまま → Word側のスイッチ(見た目の指定記号)は効かない。
Excel側のTEXT関数で直す(直し方2)。先にExcelブックを閉じて差し込み直すと直ることもある - カンマ消え・0落ち → どちらでも直せる
差し込み印刷そのものの手順は 差し込み印刷の使い方 にまとめています。
この記事に出てくる用語
- シリアル値 … Excelが日付を管理する通し番号。1900年1月1日を1と数え、2026年8月17日なら46251
- 表示形式 … セルの「見た目」の設定。値そのものは変えない
- スイッチ … 差し込み位置の中身(フィールドコード)に書き足す表示指定。「\@」が日付用、「\#」が数値用。見た目を整えるもので、値の種類は変換しない
- TEXT関数 … 値を指定した形の文字列に変換するExcelの関数
なぜ化けるのか
Excelのセルは、中身の値と見た目(表示形式)を別々に持っています。
「2026年8月17日」と見えていても、中身は「46251」というシリアル値です。
カンマも郵便番号の先頭の0も、表示形式が後から付けている見た目です。
差し込み印刷でWordに渡るのは、この中身の値だけです。
Microsoftの公式資料も、宛先リストには書式設定なしの「Excelが格納するネイティブ形式」で表示されると書いています。
| Excelの画面 | セルの中身 | Wordに出るもの |
|---|---|---|
| 2026年8月17日 | 46251(シリアル値) | 8/17/2026 または 46251 |
| 1,234,567 | 1234567 | 1234567 |
| 012-3456 | 123456(数値) | 123456 |
日付だけ出方が2種類あり、どちらが出ているかで効く直し方が変わります。
まず切り分ける|Wordに出ているのは「8/17/2026」か「46251」か
Wordの[差し込み文書]タブで[結果のプレビュー]をオンにして、日付の位置に何が出ているかを見てください。
| 症状A | 症状B | |
|---|---|---|
| Wordに出るもの | 8/17/2026(米国式の日付) | 46251(5桁の数字) |
| Wordの認識 | 日付として認識している | 数値として認識している |
Word側の \@ スイッチ(直し方1) | 効く | 効かない |
| Excel側のTEXT関数(直し方2) | 効く | 効く |
症状Bは、Wordが「日付ではなく、ただの数字だ」と受け取っている状態です。
ここで \@ スイッチを書き足しても変わりません。\@ は表示の形を変えるだけで、数値を日付に変換する機能は無いからです。
MicrosoftのQ&Aにも、\@ を正しく書いても数字のままだったという報告が複数あります(2024〜2025年・Microsoft 365版のWord)。
なぜ数字のまま届くのか
WordはExcelを読むとき、列の先頭8セルを見てその列の種類を推測します(OLE DBという接続方式の仕様です)。
日付列の先頭に空白セルや「未定」などのメモが混ざると、列全体が数値と判定され、日付がシリアル値のまま渡ります。
差し込みの実行時にExcelブックを開いたままにしているのも、よくある原因です。
症状Bで、直し方の前に試すこと
- Excelブックを保存して閉じてから、差し込みをやり直す
- 日付列の先頭数行を確認する。入力漏れなら正しい日付を入れる。
「未定」のようなメモ書きは備考などの別の列へ移す。
まだ決まっていない行は空白のままでよい(仮の日付を入れると、そのまま印刷されます)。
空白の行を下へ動かす対処も紹介されていますが、名簿の行の並び順はそのまま印刷の順番なので動かさない - それでも
46251のままなら、直し方2(TEXT関数)で直す(空白の行を残す式も直し方2にあります)
直し方1: Word側で表示の形を指定する
差し込み位置の中身(フィールドコード)にスイッチを書き足し、Word側で見た目を整える方法です。
症状Aの日付と、カンマ消え・0落ちに効きます(症状Bには効かないので、直し方2へ進んでください)。
Word側の手順
- Word文書上で Alt+F9 キーを押す。
差し込み位置が{ MERGEFIELD 日付 }のような表記に切り替わる(1か所だけなら、その位置で Shift+F9) - フィールド名の後ろに、半角スペースに続けてスイッチを書き足す。例:
{ MERGEFIELD 日付 \@ "yyyy'年'M'月'd'日'" } - そのフィールドを選択して F9 キーを押し、表示を更新する
- Alt+F9をもう一度押して、元の表示に戻す
スイッチは出したい形に合わせて選びます。
| 出したい形 | 書き足すスイッチ | 補足 |
|---|---|---|
| 2026年8月17日 | \@ "yyyy'年'M'月'd'日'" | 月の M は大文字(→ つまずきやすい箇所) |
| 2026/08/17 | \@ "yyyy/MM/dd" | MM・dd で2桁ゼロ埋め |
| 令和8年8月17日 | \@ "ggge'年'M'月'd'日'" | ggge が元号+年 |
| 1,234,567 | \# "#,##0" | 3桁区切りのカンマ |
| 012-3456 | \# "000'-'0000" | ハイフンは ' で挟む(→ つまずきやすい箇所) |
年・月・日などの日本語は、表のようにアポストロフィで囲んだ形が確実です。
囲まない "yyyy年M月d日" でも動く環境が多いのですが、まれに反映されない報告があります。
「円」や「〒」は、スイッチに含めず、フィールドの外に普通の文字として打ちます。{ MERGEFIELD 金額 \# "#,##0" }円 の形で意図どおりになります。
直し方2: Excel側で文字列にしてから渡す
症状B(日付が数字のまま出る)に効くのはこちらです。
渡す時点で文字列なので、Wordの型の認識に左右されません。
直し方2の手順
- 元の列は残したまま、隣に差し込み用の作業列を1本足す(見出しは「日付_印字用」など)
- 作業列の先頭セルに式を入れる。例:
=TEXT(A2,"yyyy年m月d日")。
A2は、元の日付が入っている列の同じ行に読み替える(元がC列なら=TEXT(C2,"yyyy年m月d日")) - 下までコピーする
- Excelファイルを上書き保存して閉じる。
読み取り専用で保存できないときは、Wordを先に閉じてから保存する。
Wordを開き直して「次のSQLコマンドが実行されます」と出たら[はい]を選ぶ([いいえ]だと名簿と切り離されます) - Wordの[差し込み文書]タブで[結果のプレビュー]をオフにする(差し込み位置が «日付» のような二重の山かっこ表示ならオフ)
- «日付»(元の差し込み位置)をドラッグで選択して、Deleteキーで消す(直し方1のスイッチが残っていても一緒に消えます)
- 消した位置にカーソルを置いたまま、[差し込みフィールドの挿入]の下向き矢印(▼)をクリックし、一覧から「日付_印字用」を選ぶ(選択画面が開いたら同じ名前を選んで[挿入])
- [結果のプレビュー]をオンに戻す。「2026年8月17日」の形で出ていれば差し替え完了です
手順7の一覧に「日付_印字用」が出ないときは、[宛先の選択]→[既存のリストを使用]で、同じExcelファイルと同じシートを選び直します。
日付の差し込み位置がひな形に複数あるなら、その全部を手順6〜7で差し替えます。
式は出したい形で選びます。
| 出したい形 | 作業列に入れる式 |
|---|---|
| 2026年8月17日 | =TEXT(A2,"yyyy年m月d日") |
| 令和8年8月17日 | =TEXT(A2,"ggge年m月d日") |
| 1,234,567 | =TEXT(A2,"#,##0") |
| 012-3456 | =TEXT(A2,"000-0000") |
式の m は小文字でも月になります。
また、Excelの書式ではハイフンをそのまま "000-0000" と書けます。
Wordの \# スイッチとは規則が違う点に注意してください。
日付の列に空白の行があるときは、=IF(A2="","",TEXT(A2,"yyyy年m月d日")) のようにIFで挟んでください。
素のままだと、空白の行に「1900年1月0日」という実在しない日付が印字されます(Excelが空白セルを0として扱うためです)。
金額や番号の列も同じで、挟まないと金額は「0」、郵便番号は「000-0000」が印字されます。
注意点は、元の列を消さないこと。
TEXT関数の結果は文字列なので、日付の計算や並べ替え、金額の集計には使えません。
郵便番号や電話番号のような計算しない番号は、最初から列全体を「文字列」の形式にして入力し直すのが根本対策です。
Microsoftの公式トラブルシューティングでも、この方法が案内されています。
どちらを選ぶか
症状Bの日付は、Excel側(直し方2)しか選べません。
どちらでも直せる場合(症状Aの日付・カンマ・0落ち)は、次で決めます。
| 分かれ目 | Word側が向く | Excel側が向く |
|---|---|---|
| データの使い道 | 日付・金額のように集計や並べ替えに使う(値をそのまま持てる) | 郵便番号・電話番号・会員番号のように計算しない(数値で持つこと自体が0落ちの原因) |
| 毎回差し替わる側 | ひな形を使い回し、データが毎回新しい。ひな形を配る場合も、受け取った人は設定不要 | Excelが固定の台帳で、Word文書を都度作る。作業列を一度作れば、どのひな形からでも差し込める |
| 印刷前の確認 | [結果のプレビュー]で1件ずつ見る | 結果が列に並ぶので、数百件の仕上がりを差し込む前に一覧で見られる |
迷ったときの使い分け
- 日付が
46251のまま出る(症状B) → Excel側のTEXT関数一択 - 症状Aの日付・金額のカンマ → Word側のスイッチが第一候補(Excelの値と集計を壊さない)
- 郵便番号など計算しない番号 → Excel側で文字列にする(根本対策)
どうしても直らないときの出口|DDE接続
WordとExcelの受け渡しを古い方式(DDE接続)に切り替えると、Excelの画面に見えている形のまま渡ってきます。
Microsoftの公式トラブルシューティング(2026年3月更新)は今も最初の方法として案内しており、症状Bに効く数少ない手段の1つです。
それでも、この記事では最後の選択肢にします。
- 2017年のセキュリティ更新で、WordのDDE機能は既定で無効になった(悪用するマルウェアが出たため)。使えるかは環境次第
- 現行の環境では「DDE接続ができませんでした」というエラーの相談が続いている
- Wordのオプション変更がPCごとに必要で、ひな形を配布する使い方と相性が悪い
TEXT関数で直るなら、そちらが先です。
Excelファイルに手を入れられない事情がある場合(他部署の管理するファイルなど)の出口として、名前だけ覚えておいてください。
手順はこの記事では扱いません。現行の環境で完走するかを確認できていないためです。
つまずきやすい箇所
「フィールドの更新」では直らない
右クリックの「フィールド更新」(F9キー)を何度やっても直りません。
更新は「同じ経路で値を取り直す」操作ですが、この問題では書式の情報が最初の1回目から渡ってきていません。
何度取り直しても、届くのは同じ「46251」です。
更新で直るのは、データを差し替えたのに古い値が出ている場合で、書式は対象外です。
ただし、スイッチを書き足した後には、反映させるためにF9が要ります。
効かないのは、スイッチを書かずにF9だけを押すことです。
Wordに 46251 のまま出ている場合は、スイッチを書いてF9を押しても変わりません。直し方2で直します。
Excel側で表示形式を変えても直らない
Excelの表示形式を「日付」や「通貨」に設定し直しても効きません。
表示形式が変えるのは見た目だけで、セルの中身の値はそのままだからです。
TEXT関数が効くのは、表示形式と違って値そのものを文字列に作り変えるからです。
月の「M」は大文字で書く(Word側)
Wordのスイッチでは、大文字のMが月、小文字のmが分を意味します。"yyyy'年'm'月'd'日'" と小文字で書くと、月の位置に時刻の「分」が出てきます。
ExcelのTEXT関数は大文字と小文字を区別しないので、m でも M でも月になります(hh:mm のように時刻の並びの中に置いたときだけ分になります)。
Excelに慣れている人ほど、Word側で小文字を書いてしまう場所です。
スイッチを書き足したのに表示が変わらない
スイッチは、フィールドを選択してF9キーで更新して初めて表示に反映されます。
また、Alt+F9で編集用の表記に切り替えたまま印刷すると { } の記号がそのまま印刷されるので、確認が終わったら必ずAlt+F9で元に戻します。
記号は半角で入力する
\・"・'・スペースは、すべて半角で入力します。
全角ではスイッチとして認識されません。
日本語キーボードでは \ は「¥」キーで入力します。
画面上が「¥@」のように見えることがありますが、同じ文字の見え方の違いなので問題ありません。
郵便番号のハイフンをそのまま書くとスペースになる
数値用の \# スイッチの中では、ハイフンは「マイナス記号を出す場所」という意味の記号として扱われます。\# 000-0000 と素で書くと、値が正の数なのでその位置は空白になり、「012 3456」のような結果になります。
文字としてのハイフンを出すには、\# "000'-'0000" のようにアポストロフィで挟みます。
Microsoftの公式リファレンスも、文字をそのまま出したいときは単引用符で囲む、書式全体はダブルクォートで囲む、と案内しています。
この記事の確認範囲
- スイッチの書式規則は、公開されている情報では現行版と同じでした
- 実例は2024〜2025年に投稿されたもの(Microsoft 365版のWord)です
- 空白の行に「1900年1月0日」などが出る点は、Excelで実際に計算させて確認した
- 環境によって挙動が変わる箇所(症状Bの発生条件・DDEの可否)は、その旨を本文中に書いている


コメント