「差し込み印刷 小数点 おかしな表示」
「word 差し込み印刷 小数点以下表示 不良」
といった検索キーワードで、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
例えば、Excel上に
「1234.56」
という小数を含む数値データがあったときに、このデータをWordに差し込み印刷しようとすると、
上図のように
「1234.5599999999999」
と表示されてしまうことがあるのです。
「差し込み印刷 小数点 おかしな表示」
「word 差し込み印刷 小数点以下表示 不良」
という検索をした方は、この対処方法を探していらしたのでしょう。
そもそもコンピューターは小数の扱いが苦手
プログラミングを行う人、コンピューターで細かい数値を扱うような人にとっては常識ですが、そもそもコンピューターは小数点以下の数値の扱いが苦手です。
小数点以下の数値は間違えてしまうのがコンピューターにとっては普通のことです。
今回のこの事例は、表計算ソフトであるExcelよりも、ワープロソフトであるWord(あるいは差し込み印刷のデータの受け渡し部分)の、小数点以下の扱いがおおざっぱであるために起きているのでしょう。(いくらなんでも精度が低すぎると感じますが...)
差し込み印刷で小数を含んだ数値の書式を設定する
で、解決策としては、フィールドコードで書式設定を行うのが、一案です。
※「数値」という名前フィールドのデータを小数点以下第2位まで印刷する例 { MERGEFIELD 数値 } というフィールドコードを
{ MERGEFIELD 数値 \# "0.00"} に修正する
ショートカットキー[Alt]+[F9]を押すと、数値表示から、下図のようなフィールドコード表示に切り替わりますから、
これを、下図のように修正してください。
フィールドコードの「\#」が、数値の表示形式を指定するスイッチ記号で、その後にどういった形式で表示するかを指定します。
上記の例では数値を「0.00」のように表示しなさいと指定しています。
フィールドコードの修正後にショートカットキー[Alt]+[F9]を押すと、数値表示に戻るので、そこで更新のショートカットキー[F9]を押せば、下図のような表示にすることができます。
ちなみに実務では、小数を含む数値を差し込むフィールドがたくさんあって、上記のように個々のフィールドコードを修正するのが面倒なケースもあります。そのような場合の解決方法は別記事として近日中にご紹介します。
- Newer:VbMsgBoxResult型とは
- Older:特定セルのみ再計算するExcelマクロ-Range.Calculate
Home » Word(ワード)の使い方 » フィールドコード » 差込印刷で小数点以下の桁数を指定するー\# "0.00"