目次
このチュートリアルでは、ExcelからWordにメールマージを行う際に、数字、日付、パーセント、通貨の書式を維持する方法、または好みに合わせて変更する方法を紹介します。
以前、ExcelからWordへメールを送信する方法を紹介しましたが、ExcelのワークシートからWordのメールマージを使用して文書を自動作成する場合、多くの課題があります。 フィールドに入力されていない、または間違った情報が入力されている場合があります。 Excelで適切にフォーマットされた数値が、Wordで正しく表示されない場合があります。郵便番号の先頭のゼロが失われることがあります。 以下のトラブルシューティングは、Mail Merge のフォーマットに関する典型的な問題を解決するのに役立ちます。
メールマージの方法と書式を維持する方法
Excelワークシートからメールマージを実行すると、数値データの一部がマージ後に書式を失うことがあります。 この問題は、パーセントまたは通貨としてフォーマットされた数値や、郵便番号のように先頭にゼロを含む数値で発生するのが一般的です。
原因 Microsoft Wordのデフォルトでは、OLE DB接続が使用され、情報は取り込まれますが、フォーマットは取り込まれません。 その結果、Word文書では、データはExcelに内部保存されているフォーマットで表示され、セルに適用されるフォーマットでは表示されません。
この問題を説明するために、Excelワークシートのソースデータ形式をご覧ください。
では、Wordのメールマージ文書でどうなるかを見てみましょう。
- 郵便番号 - Excelでは、セルに00000のような独自の数値形式があるため、先頭のゼロが表示されます。 Wordでは、基となる値(2451)が表示されます。
- 通貨 - は、通貨記号、桁区切り記号、小数点以下がない状態で表示されます。 Excelでは、Currency(3000.00ドル)の形式で表示されます。 Wordでは、純粋な形の数字(3000)で表示されます。
- 比率 - 例えば、ExcelでPercentと表示された30%は、Wordでは0.3または0.29999999と表示されることがあります。
- 日付 - この例では、Excelの「20-May-22」がWordでは「5/20/2022」に変換されます。
解決方法 郵便番号、日付、価格、パーセンテージ、その他の数値をWordで正しく表示するには、次の方法でExcelワークブックに接続します。 ダイナミックなデータ交換 (DDE)です。
Dynamic Data Exchangeを使用してExcelシートに接続する方法
メールマージを開始する前に、Microsoft Wordで以下の手順を実行します。
- 次のページへ ファイル> オプション> 詳細 .
- までスクロールしてください。 一般 セクションで、チェックボックスを選択します。 オープン時のファイルフォーマット変換の確認 をクリックします。 よっしゃー .
- 通常通りMail Mergeを開始します(詳しい手順はこちら)。 宛先の選択では 既存のリストを使用する .
- スプレッドシートを参照し、選択し オープン (またはファイルをダブルクリック)。
- での データソースの確認 ダイアログボックスが表示されたら、チェックします。 すべて表示 を選択し、左下の DDE経由のMS Excelワークシート (*.xls) をクリックします。 よっしゃー .
- クリック 表計算ソフト全体 そして よっしゃー .
DDE経由でExcelデータソースに接続するため、Wordにはかなりの時間がかかるかもしれませんので、しばらくお待ちください。)
ヒント:データファイルを開くたびにWordが表示するプロンプトを複数回表示させないために オープン時のファイルフォーマット変換の確認 のチェックボックスは、メーリングリストに接続した後にチェックしてください。
これで、Wordのメールマージ文書内のすべての数値は、元の形式を保持するようになりました。
特定のメールマージフィールドをフォーマットする方法
DDE経由でExcelワークシートに接続するのが、書式の問題を一度に解決する最も早い方法です。 何らかの理由でこの解決法が適用できない場合は、特定のマージフィールドに数値スイッチ(以前はピクチャスイッチと呼ばれていました)を追加することによって、WordでExcelデータの書式を制御することができます。
A テンキースイッチ は、Word文書内のフィールドの内容を思い通りに整形するためのマスクの一種です。 数値スイッチを追加するには、次の手順を実行します。
- フォーマットを変更したいマージフィールドを選択します。 これは、以下のとおりです。 日付 , 通貨 , パーセント などの分野があります。
- 選択したフィールドのコードを表示するにはShift + F9、文書内のすべてのフィールドのコードを表示するにはAlt + F9を押します。 一般的なフィールドコードは、{ MERGEFIELD Name }のように表示されます。
- フィールドの末尾に数字のスイッチコードを追加する。
- カーソルがフィールドのどこかにある状態で、F9キーを押して更新します。
- もう一度Shift + F9またはAlt + F9を押してフィールドコードを非表示にし、結果をプレビューしてください。
以下の例では、いくつかの典型的なシナリオを紹介します。
メールマージ:番号形式
数字を正しい書式(Excelファイルと同じまたは異なる)で表示させるには、以下の数値スイッチコードを使用します。
数字スイッチ | 例 | 商品説明 |
\# 0 | 3000 | 四捨五入された整数 |
\# ,0 | 3,000 | 千区切りで四捨五入した整数 |
\# ,0.00 | 3,000.00 | 小数点以下2桁、千区切りのある数値 |
例えば、整数を千区切りで書式設定する場合は、数値スイッチ \# ,0 で、千区切りで書式設定します。 番号 にフィールドを変更します。
{ MERGEFIELD Number# ,0 }.
メールマージ:通貨形式
メールマージで通貨をフォーマットするには、以下のコードを使用します。
数字スイッチ | 例 | 商品説明 |
\# $,0 | $3,000 | 千区切りで丸めた全体のドル |
\# $,0.00 | $3,000.00 | ドル、小数点以下2桁、千の位で区切られたもの |
\# "$,0.00;($,0.00);'-'" | ($3,000.00) | ドル、負の数は括弧で囲み、ゼロの値はハイフンで囲む。 |
例えば、メールマージでドル形式を適用するには、通貨フィールドに数値スイッチ \# $,0 を追加します。
{ MERGEFIELD Currency# $,0 }.
その結果、数値3000は小数点以下の桁数がない3000ドルとフォーマットされる。
補足:上記の例は、メールマージの場合です ドルだて ドル記号($)の代わりに、他の通貨記号を使用することもできます(例)。 € または £ .
メールマージ:パーセンテージ形式
Wordのメールマージ文書でパーセンテージをフォーマットする方法は、Excelシートでソース値がどのようにフォーマットされているかに依存します。
もし 一般 または 番号 その数値をパーセントで表示するには、以下の数値スイッチを追加してください。
数字スイッチ | エクセル値 | ワード値 | 商品説明 |
\# 0.00% | 30 | 30.00% | 小数点以下2桁の数値をパーセントで表示します。 |
\# 0% | 30 | 30% | 数値を四捨五入してパーセント表示します。 |
例えば、数値をパーセント表示にする場合は、以下のように編集します。 パーセント フィールドを以下のように設定します。
{MERGEFIELD Percent# 0% }.
その結果、数字50は50%とフォーマットされる。
Excelのセルにパーセント形式が適用されている場合、Wordはパーセント形式の背後にある実際の値を表示しますが、これは小数です。 たとえば、Excelの値が50%の場合、Wordでは0.5と表示されます。 これをパーセントに変換するには、まず小数を100倍し、適切な数値スイッチを使用する必要があります。 以下、詳しい手順について説明します。
- パーセントで表示したいマージフィールドを選択します。
- Ctrl + F9 を押すと、選択したフィールドを次のように別のフィールドで囲みます: { "Percent" }.
- 以下のいずれかになるようにフィールドを編集してください。
- 四捨五入した整数:{="パーセント "*100 ㎤ 0%}。
- 小数点以下2桁のパーセント: {="Percent "*100 \# 0.00%}となります。
- カーソルをフィールドの任意の場所に置き、F9キーを押して更新します。
注意:数式を含むマージフィールドは、プレビューモードでない場合でも、フィールド名ではなく値が表示されます。 通常の動作ですのでご安心ください。 値が固定でないことを確認するには、以下の矢印をクリックしてください。 プレビュー結果 グループで受信者を切り替えます。 フィールドコードを表示するには、値を選択してShift + F9キーを同時に押します。 すべてが正しく行われると、次のような表示になります。
{ ={MERGEFIELD Percent }*100 \# 0% } }.
メールマージ:日付と時刻のフォーマット
数値や通貨と同様に、メールマージでは数値スイッチを使って日付のフォーマットを変更することができます。 以下の表は、よく使われるいくつかの日付/時刻フォーマットのコードをリストしたものです。
数字スイッチ | 例 |
\⑭ "M/d/yyyy" | 5/20/2022 |
\♪D-MMM-yy} | 5月20日-22日 |
\♪D MMMYYYYYY!} | 2014年5月20日(木 |
\♪ "ddd, d MMMM yyyy" | 2022年5月20日(金) |
\♪ dddd, d MMMM yyyy " | 2022年5月20日(金 |
\Ȃ "dddd, MMMM dd, yyyy" | 2022年5月20日(金) |
\ "h:mm AM/PM". | 午後10時45分 |
\Ȃ "hh:mm" | 10:45 |
\Ȃ "hh:mm:ss" | 10:45:32 |
例えば フルデート の書式を変更する場合は、このように Date マージフィールドの書式を変更します。
{MERGEFIELD Date@ "dddd, MMMM dd, yyyy" } }.
ヒントと注意点
- 日付/時刻の数値スイッチでは、大文字の M は月と小文字に使われます。 m を分単位で表示します。
- 上記のコード以外に、任意のカスタム日付・時刻フォーマットを使用することができます。
Wordのメールマージで現在の日付と時刻の書式を変更する方法
メールマージ文書に今日の日付と現在の時刻を挿入するには、次のショートカットを使用します。
- Alt + Shift + D - 現在の日付を表示するDATEフィールドを挿入します。
- Alt + Shift + T - 現在の時刻を表示するTIMEフィールドを挿入します。
これは、デフォルトのフォーマットで日付と時刻を追加します。 これを変更するには、上記のように数値スイッチを使用します。 または、視覚的な方法で希望の日付/時刻フォーマットを適用することができます。
- を選択します。 日付 または 時間 の欄には、変更したい形式を入力してください。
- Shift + F9 を押すと、フィールドコーディングが表示され、{ DATE \@ "M/d/yyyy" } のようになります。
- 選択したフィールドを右クリックし フィールドを編集する... をクリックすると、コンテキストメニューが表示されます。
- での ファイルされた ダイアログボックスで、必要な形式を選択します。 日付 をクリックします。 よっしゃー .
ヒント:もし 更新時のフォーマット保持 をクリックし、右下の該当するチェックボックスを選択します。
メールマージで先頭のゼロを失わないようにする方法
すべての数値において、先頭のゼロはメールマージの際に削除されます。 郵便番号やその他の数値がゼロを失うことなくメールマージを通過するためには、次のようにフォーマットする必要があります。 テキスト .
これを実行させるには、数字のある列を選択し テキスト において 番号形式 のボックスが表示されます。 ホーム タブで表示します。
または、選択した列を右クリックし セルの書式設定... である。 セルのフォーマット ダイアログボックスが表示されます。 番号 タブで、以下を選択します。 テキスト をクリックします。 よっしゃー .
重要なお知らせ!もし スペシャル (郵便番号など)またはカスタム(00000など)の書式がExcelのセルに適用されている場合、それを変更する。 テキスト という書式を設定すると、先頭のゼロが消えます。 テキスト そこで、DDEでExcelに接続することで、ゼロを含む元のExcelの数値フォーマットを保持することができます。
以上、メールマージのフォーマットの問題を解決し、フィールドを思い通りにフォーマットする方法でした。 読んでいただきありがとうございました。