これまでで一番「情けなかったとき」はいつですか?

エクセル2010使用です。(Windowsは10です。)
数値桁の先頭がゼロの場合、スペースで埋めたいです。

この質問を読んで
「数値を右揃え表示したいんだろ? セルの書式設定の右揃えをすれば一発解決じゃん!」
と思った方もいるかもしれませんが、それは解決しないと思います。

なぜそのようにしたいのか、というと、書式設定した数値を他のセルと&やconcatenate関数で
連結して長いテキスト文章として編集したいので、その際、数値部分を一定の文字数にそろえて、
テキスト文章の見栄えを良くしたいからです。

添付画像をご覧下さい。
元の値が最小値が一ケタ、最大値が5桁(万の位)とします。
1の位しかない場合は先頭に空白文字4桁を挿入したい、同様に
10の位しかない場合は先頭に空白文字3桁を挿入したい、
100の位しかない場合は先頭に空白文字2桁を挿入したい、
1000の位しかない場合は先頭に空白文字1桁を挿入したい、
万の位まである場合はそのまま5桁すべてを表示したいとします。
(十万以上の数値が出現することはないものとします)

そして、フォントは横幅一定長のフォントを使用するものとします。
(添付画像のエクセルシートはMSゴシックで作成しています)

例えば
=TEXT(B2,"###,###")
といった書式ですと、カンマ挿入は出来ますが、元の桁が小さな数値の場合、それをスペースで埋めてはくれません(薄い水色部分)

=TEXT(B2,"###,###円")
といった書式ですと、カンマ挿入と数値の最後に"円"の表示は出来ますが、やはり先頭ゼロ値の桁を空白で埋めてはくれません(薄いオレンジ色の部分)

=TEXT(B2,"000,000円")
といった書式ですと、カンマ挿入、数値最後の円表示は出来ますが、今度は先頭ゼロ値の桁は空白ではなく0(ゼロ)というアラビア数字で埋めてくれるのですが、これでは読みにくいです
(薄いピンクの部分)

最終的には薄い緑色のように、セルの値に入った文字列や数値を&記号やconcatenate関数で連結して、一定文字数のテキスト文章を作りたいのです。(薄い緑色の部分)

len関数、lenb関数で文字数算出をして、一定文字数に足りない場合は足りない文字数分の空白文字を連結して(IF文で処理分岐させて)・・・という解決方法もあると思いますが、それはあまりにも面倒なのでTEXT関数で行いたいです。

詳しい方、方法を教えてください。

「エクセル書式設定。数値桁の先頭がゼロの場」の質問画像

A 回答 (1件)

「?」でスペースにできます。


https://support.microsoft.com/ja-jp/help/883199
http://www.relief.jp/docs/003352.html

=TEXT(C4,"??,??0円")
または
=TEXT(C4,"\??,??0")
(\記号の後ろにスペースを入れるなら"\???,??0")
    • good
    • 1
この回答へのお礼

素早いご回答ありがとうございます。
試してみました
出来ました。

お礼日時:2017/12/28 13:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報