【Word】差し込み印刷の金額にカンマを付ける方法|小数・0・空欄の確認

【Word】差し込み印刷の金額にカンマを付ける方法|小数・0・空欄の確認
🛡️ 超解決

Excelでは「1,234,567」と見えている請求額が、Wordへ差し込むと「1234567」になる場合があります。Excelの表示形式がそのまま渡らない接続では、Word側の金額フィールドに桁区切りを指定します。名簿の数値を1件ずつカンマ付き文字列へ書き換える必要はありません。

ここではWindows版デスクトップWord(Microsoft 365/2024/2021)で、既に挿入してある「金額」フィールドを直します。金額は円単位の数値、桁区切りはカンマ、小数点はピリオドという例です。

ADVERTISEMENT

1. 金額の値と表示形式を分けて考える

まずExcelの該当セルを選び、数式バーで元の値を見ます。数値1234567に桁区切りの表示形式を付けたセルと、「1,234,567円」という文字列を入力したセルは別物です。後者へ数値用の書式を追加しても、期待どおりに変換できるとは限りません。

請求額を計算する元の列は数値のまま残します。表示だけを変えるならWordの書式スイッチ、承認済みの表記をそのまま印字するならExcelの別の表示用列を使う、と役割を決めると管理しやすくなります。Wordで見た目を丸めても、Excelの計算結果が変更されたわけではありません。

※ お探しの解決策が見つからない場合は、こちらの「Wordトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 金額フィールドへ桁区切りを追加する

桁区切りと整数表示には、数値書式スイッチ \# "#,##0" を使います。末尾の0は、値が0のときにも0を表示する指定です。

{ MERGEFIELD 金額 \# "#,##0" }
  1. 差し込み用文書を別名保存し、金額フィールドを右クリックして[フィールドコードの表示/非表示]を選びます。文書内のコードをまとめて切り替えるならAlt+F9を使います。
  2. 既存の MERGEFIELD 金額 の後ろへ半角スペースを空け、\# "#,##0" を追加します。既に数値書式スイッチがある場合は、その書式を修正して二重にしません。
  3. コード表示を戻し、金額フィールドを選んでF9、または右クリックの[フィールドの更新]を実行します。
  4. [結果のプレビュー]で、金額が大きい宛先、0の宛先、返金などで負数になる宛先を確認します。
  5. [完了と差し込み]から[個々のドキュメントの編集]へ進み、結合した文書の金額を元データと照合してから印刷します。

表示したコードの括弧はWordが作ったフィールドの一部です。上の1行を普通の文章として貼り付けるだけでは動きません。日本語フォントでバックスラッシュが円記号のように見える場合もありますが、全角の「¥」を入力するのとは異なります。

3. 整数・小数・単位の表示を選ぶ

元の数値 書式部分 表示例
1234567 \# "#,##0" 1,234,567
0 \# "#,##0" 0
1234.5 \# "#,##0.00" 1,234.50
1234 \# "#,##0 '円'" 1,234 円

単位を通常の文字としてフィールドの後ろへ置く方法もあります。全件に金額があるなら「≪金額≫ 円」で十分です。ただし、金額が空欄の行で単位だけを残したくない場合は、空欄を印刷対象から保留するか、金額と単位をまとめて条件付きにします。単位を数値書式の中へ入れれば空欄時に必ず消える、という扱いにはしません。

小数のある単価を整数書式にすると、表示上の端数が変わります。税額や請求額の確定にWordの表示丸めを使わず、必要な端数処理をExcel側の計算で済ませます。例えば「単価1,234.50円、数量2、金額2,469円」なら、単価と金額に同じ書式を一律適用しないことが大切です。

4. 表示が直らないときの確認順序

全員の金額が変わらないなら、編集した場所が本物の金額フィールドか、数値書式を別のフィールドへ追加していないかを確認します。1人だけおかしい場合は、その行の値、空欄、全角数字、単位付き文字列を調べます。文書全体の書式を消す必要はありません。

「金額が未入力」と「金額が0」は業務上も別の状態です。空欄を0円の請求として出さないよう、未確定の行は先に抽出して確認します。Excel側で修正した場合は保存後に宛先リストを更新し、変更した値がWordへ届いたことを確かめてからフィールドの書式を見直します。

桁区切りがピリオドになったり小数点がカンマになったりする環境では、地域設定も確認します。共有PC全体の地域設定を印刷のためだけに変えるのではなく、配布先で必要な表記を決め、次の表示用列を使う方法も検討してください。

5. 表記を固定して渡すなら別の列を使う

Wordのコード編集を避けたい場合は、Excelで「金額表示」という別の列を用意します。B2が金額なら、次の式で空欄と0を区別しながら表示用の文字列を作れます。

=IF(B2="","",TEXT(B2,"#,##0")&" 円")

Wordには「金額」ではなく「金額表示」を挿入し、こちらには数値書式スイッチを重ねません。元の金額列を上書きしないため、計算用の数値も残せます。表示用列を再計算して保存し、Wordで空欄・0・大きな額の3件を確認します。TEXTの文字列も地域設定の影響を受けるため、Excel上の完成表記を確認してから接続してください。

この方法は、名簿全体をDDE接続へ変えることや、セキュリティ設定を緩めることを前提にしません。詳しい数値書式の要素はMicrosoftのフィールド結果の書式設定に記載されています。

6. 金額の桁区切りとコードのゼロ埋めを使い分ける

計算対象の金額には \# "#,##0"、小数を残す単価には必要な桁数を指定します。空欄、0、負数、端数を確認し、結合後の文書で金額の意味が変わっていないことを確かめて完成です。

郵便番号や会員番号は金額ではありません。先頭の0を守りたい場合は差し込み印刷の先頭ゼロの対処を参照し、3桁区切りを付けないでください。

📝
Wordトラブル完全解決データベース この記事以外にも、Wordのエラーや不具合の解決策を多数まとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

📘
超解決 Word検定 あなたのWord実務能力を3分で測定!【1級・2級・3級】