Excelで印刷する時に、データが消える問題の原因の考察と対処

この記事は旧ブログからのリライトです。

Excelで印刷する時に、データが切れてしまうことがよくある問題が話題です。
これは例えば商品番号「TA-0011」のものがある場合、「TA-001」までの表示しかしないので、実際には「TA-002」かもしれないということに繋がります。
私の感覚なのですが、以前に比べExcel2016ではかなり改善されているような気がします。
でも、まだまだこの現象は起きるので、その現象がどういう現象なのか、なんで起きるのか、その対処法を考えていきます。

この現象は

まず、この現象、全く影響を受けない場合もあります。
A列に文字が入っていて、B列に文字が入っていない場合、Excelははみ出た文字は空欄の右の列にはみ出してくれるので影響がないです。罫線がなければ全く影響を受けていないように印刷面では見えます。
また、数字データに関しては標準形式の表示形式だと、幅の足りない数値は指数表示などに変換されるので、幅の中で表示してくれます。

原因の考察

私があくまで予測でしかないのですが、なぜこのような現象が起きるのかをだらだらと書いてみます。

原因1)多言語対応ソフト

一番大きな原因は、Excelは日本語に完全に対応していないことではないかと思います。
そもそもExcelは多言語で作られていて、おそらくですが、今は全世界共通の1つのソフトウェアを言語設定を変えて使っているのですね。
しかし、開発の中心はアメリカで作られているのではないでしょうか。
本来、Excelは英語ベースで作られていることが予想されます。
なので、日本語のフォントでよく起きるように思います。
Wordでこういうことが起きないのは、Wordは印刷するドキュメントを扱うソフトだから、印刷面がずれてしまうのは致命的だからということではないでしょうか。

原因2)印刷することが目的ではないソフト

また、Excelは本来、表計算をするためのソフトで、印刷のことは考慮されていないのではと思うところです。
電卓はそもそも印刷機能はないですよね、だからこういう問題は発生しません。Excelも計算することが機能なので印刷するところは弱いのではという予想です。

原因3)プロポーショナルフォントやフォントによる文字幅の違い

例えば、Wは1文字の幅が広いです。Iは文字幅が狭いです。このように必要な文字幅に最適化されているフォントのことをプロポーショナルフォントと呼びます。
プログラムを作る側としては、このプロポーショナルフォントの文字幅の計算は、文字の幅を1文字ごとに違う幅を積算するので大変です。
プロポーショナルフォント以外でもこの現象は起きることもあるのですが、フォントの種類は数多くあって、一つ一つ違う文字幅の値が設定されているのです。
例えば、その文字幅のデータが適切に登録されていなかったり、精度が悪く登録されていたりする場合、文字数が多くなればなるほど誤差が出ます。
画面表示は小数点以下5桁くらいまで正確に計算されていて、印刷画面はあまり重視していないので小数点以下2桁くらいまでしか計算していないのではないかと思っています。
特にコンピュータプログラムはすべて切り捨てされているので、文字幅が1.2399のものでも、小数点2桁だろ1.24ではなく、1.23になるので誤差が大きいということがあります。

原因4)罫線の幅

Excelの場合、罫線の幅も0ではないようです。
実験したところ、罫線の設定で太い罫線を入れても、細い罫線を入れても、同じ、とても細い罫線の幅があるようです。
そこも含めて印刷範囲全体の幅と計算すると、その分足りなくなるのかもしれないです。

対処法

完全ではないのですが、スタンダードな対処法を提案します。

対処1)最適値+1文字

列見出しをダブルクリックして、最適値に合わせて、それでも印刷時に途中で切れるというのが問題だと思います。
その最適値より幅を1文字分大きくドラッグで変えます。
また、一回一回最適値に合わせるドキュメントの出し方というのも見直した方がいいのかも知れません。
同じ金額を表している、収入と支出があるのであれば、これは値に合わせた最適値の幅にすると、違う要素のように見えます。
あらかじめ大きな幅にしておくべきだと思います。

対処2)縮小して全体を表示する

セルの書式設定し、[配置]タブの[縮小して全体を表示する]をすれば、意外とこの現象が出なくなります。
文字サイズが揃わなくなることは仕方なしです。
文字数が多すぎてものすごく小さいサイズになってしまうのであれば、それは元々のセルの幅の設定が小さすぎるか、情報の詰め込みすぎで、逆にそれは見づらい文書と思います。

対処3)Wordに転記する

Wordであれば印刷物を作る専門家なので、印刷はあくまでWordと割り切ります。私はベストはこれだと考えています。
確かにめちゃくちゃ面倒でレイアウトするのが大変なのですが、そこを大変にしないWordのテクニックのヒントを提示します。「下書き表示」、「1ページの行数を指定時に文字を行グリッド線に合わせる」をOFF、「均等割り付け」、「文字幅」です。

まとめ

いずれにしてもそうなってしまうのは仕方ないです。
Excelを使わなければいけないのは事実なので、そこでベストな自分のやりやすい対処法を見つけていきましょう。
この問題はとても昔からあるExcelの不具合ではあるのですが、修正していないところを考えると、修正できない理由があるのかもしれませんね。

コメント

タイトルとURLをコピーしました