[Excel]数値を文字列にするTEXT関数(Word差込印刷時にカンマを表示させる用)
【まとめ】
数値をWordに差し込む際、3桁区切りの「 , 」(カンマ)を入れるには、
=TXET(数値セル,"#,###")
として、数値を文字列にしておく
【説明】
前記事「数値形式の日付を文字列にする計算式(Wordへの差込印刷用)」では、数値形式の日付をWordに差し込むと表示がおかしくなってしまうものの対処法をお示ししました。
Wordに差し込むと、数値のカンマが出てこない
表示が思うように出ないのは、数値(金額など)も同じです。
この表をWordに差し込み印刷しようとして、
差込フィールドを挿入し、
差込のプレビューを見てみると、
金額にカンマが付いていません!
これをどう解決するか?
手作業でカンマを入れてはいけない!
差込印刷を使っているスタッフに聞いたら、
「差込して出来た個々のWord文書の金額に、手でカンマを入れている」とのこと。
それ、大変です。1件だけならまだしも(1件なら差込みしないけど。)
私はやりたくない。(だから、この方法を考えました。)
手作業では、カンマを入れる位置を間違えたり、元の数値を消してしまったり、そもそも時間がかかりすぎ。
桁が多くなると、「12000000」のどこに「 , 」を入れるかなんて、目が痛くなってしまいます。もちろん集中力も無駄に消費されます。
ではどうするか?
Word側の差し込みフィールドをいじる手もありますが、ここではExcel側で対処してみます。(Wordの方が大変そう。)
やり方は、日付と同じ。TEXT関数を使う。
やり方は、日付と同じ、【まとめ】の通り、TEXT関数を使います。
列を一つ追加して、
=TXET(数値セル,"#,###")
と入れます。
これで、数値が文字列になりました。
エクセルの「セルの書式設定」と同じです。
( =TEXT(金額セル、"###,#円")とすれば、円も表示されるので、Word側の「円」は不要になります。)
文字列なので、左寄せになっています。
これを差し込んでみます。(エクセルは一旦閉じておきます。)
一番下の「支給額②」が新しく追加したところです。
相変わらず、差し込みフィールドの表示が変ですが、そこはスルーします。
これを「結果のプレビュー」で見てみると・・・
「12,000円」と、きちんと、カンマが入りました。
これなら業務で使えます。
ちなみに、元のエクセル表では、数値で入っているD列の「支給額(円)」はグループ化で隠せるようにしてあります。
一覧を印刷するなら隠すといいでしょう。
あるいは、E列の「支給額(差込用)」の方を隠してもいいでしょう。
*一覧表と差込後の書類をチェック(突合)する場合は、実際に差し込まれたE列が印刷されていた方が、間違いが生じません。
その場合、印刷されるE列の項目名は「支給額(円)」としておくといいでしょう。隠してしまうD列の項目名は「支給額(数値データ)」等としておくとわかりやすいかと思います。
さて、これで日付も金額も、問題なく差し込めました。
ただし、細かいところで気になる部分があります。
それは、日付の場合になりますが、
1桁の月も日も、
2桁の月も日も、
いずれも「半角」で表示されてしまうということ。
「それどういうこと? 別にいいじゃん」という方はスルーしてください。
「そうだよね、そこ、結構気になるんだよね(そこ、うるさく言ってくる上司がいるんだよね)」という方は、次記事をお待ちください。
(フォローしていただくと、更新がわかりやすいようです。)
2024/7/3追記 こちらもどうぞ
1桁の数値は全角に、2桁以上なら半角にする方法