Excel。Wordの差し込み印刷でつかうと表示形式が消えてしまうのでどうにかしたい
<TEXT関数とWord>
Wordの機能に【差し込み印刷】というのがあります。差し込むファイルによく、Excelファイルを使うのですが、差し込んだ後に思ったように表示してくれないことがあります。
その場合の対処方法を紹介していきます。
使用するExcelファイルから確認をしましょう。
C列の金額は、数量と単価を乗算した数式。
=A2*B2
を設定しています。
D列の数値は、単純に、数値を入力した列です。
E列の表示形式は、直接入力した数値に、三桁区切りのスタイル(表示形式)を設定してあります。
F列は、表示形式を設定するのではなく、TEXT関数を使って、表示形式を変更しています。
F2の数式は、
=TEXT(C2,"#,##0")
結果は、E列と同様に三桁区切りのスタイルが設定されます。
ただし、算出された結果は、文字型の数値になっているので、左揃えで表示されています。
これだとおかしいので、文字型を数値型に戻したのが、G列。
G2の数式は、
=TEXT(D2,"#,##0")*1
×1することで、文字型数値を数値型に変更することができます。
H列は、数値以外だけでないことを確認したいので、日付を入力してあります。
I列は、先程のF列同様に、TEXT関数をつかって算出しました。
I2の数式は、
=TEXT(H2,"yyyy/m/d")
このExcelをつかって、Wordで差し込み印刷を行った場合どうなるのかを確認してみましょう。
【Wordで差し込み印刷】
次のように、Wordの差し込み文書タブを使って差し込み印刷の設定を行っていきます。差し込みフィールドの挿入まで完成していますので、Wordの差し込み文書タブにある「結果のプレビュー」をクリックして、どのように表示されるのかを確認してみましょう。
注目するのは、表示形式です。
TEXT関数を使っていないところは、Excelと同じ表示形式になっていません。
数値は、入力した場合と同じ状態になっていますし、日付は、月・日・年というように、米国式で表示されています。
差し込み印刷では、文字を差し込むならば、気にしなくてもいいのですが、このように表示形式が設定されている、関係している場合には、TEXT関数を使う必要があります。
また、アレンジのように、文字型数値を数値型に戻してしまうと、やはり、数値ということで、表示形式が取れてしまいます。
では、ExcelでTEXT関数をやらない場合、つまり、Wordではコントロールすることは出来ないのでしょうか?
【Wordでの対応方法】
Wordに差し込んだ後に、表示形式を変更したい場合には、結果のプレビューを解除してから、
Alt+F9キーを押して、フィールドコードを表示させます。
MERGEFIELD 表示形式をMERGEFIELD 表示形式 ¥# 0,
と、追記します。
Alt+F9キーで元に戻して、結果のプレビューで確認してみましょう。
カンマ区切りスタイルで表示されていることが確認できますね。
このように、フィールドコードを追記する形をとれば、対応することができます。
数値フィールドは、『¥# スイッチ』で指定してあげると対応します。
「¥# ¥¥0,」とすれば円マーク付きにすることができますし、「¥# “0,円”」とすれば、~円と表示することができます。
【日付はこうすると対応可能です】
では、日付はどうしたらいいのでしょうか?日付フィールドは、「¥@ スイッチ」で対応します。
ここでポイントになるのは、月のところが、大文字の「M」でないとダメということです。小文字の「m」にすると表示されません。
それ以外は、Excelと同じ表示形式で対応していますので、差し込み印刷で、元号表示にしたい場合には、
「¥@ “ggge年M月d日”」
と設定すれば、元号表示にすることができます。
では、結果のプレビューで確認してみましょう。
このように、差し込み印刷では表示形式に問題が発生しますので、対応する必要があります。