[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『単位が、色々ある数値の小数点と整数位置を合わせたい』(かまた)
数値の桁合わせで困ってます。
種類に、よって「1」と表示したり「0.5」と表示したり「1,234」
と表示しないといけないのですが。
このとき
1 ←
0.5 ←
1,234 ←
の、位置を極力合わせたいのですがエクセルの機能かもしくは
マクロかで実現できませんか?
要は、内訳書なのでそれによって単位が違うので小数点が発生するもの
「,」が必要なものと色々出てきてしまいます。
ガタガタが、かっこ悪いので合わせたいのですが出来るだけ簡単にしたいです。
どうかご教示願います。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
>色々ある数値の小数点
小数点って、下1桁までと決まっているんですか?
それが決まっていないと、揃えるのは大変だと思います。
決まっているなら、「条件付き書式」で以下の条件にして、表示形式を設定すればよさそう。
<小数点有り> 条件式 =ISNUMBER(FIND(".",A1)) 表示形式 #,##0.0 (ユーザー定義)
<小数点無し> 条件式 =ISNUMBER(FIND(".",A1))=FASLE 表示形式 #,##0_ (ユーザー定義) ↑ | (0の後ろは、アンダースコア1つ、半角スペース2つ。計3つ)
(半平太) 2016/10/23(日) 15:08
早急の回答ありがとうございます!
小数点は、一桁です。
(かまた) 2016/10/23(日) 15:31
Dim dt(), c As Range, mlen As Long ReDim dt(Rows.Count) For Each c In Sheets("Sheet1").UsedRange.Columns("A").Cells dt(c.Row) = c.Text Next c Columns("A").NumberFormatLocal = "@" Columns("A").Cells.Font.Name = "MS ゴシック" For Each c In Sheets("Sheet1").UsedRange.Columns("A").Cells c.Value = dt(c.Row) If mlen <= Len(c.Value) Then mlen = Len(c.Value) Next c For Each c In Sheets("Sheet1").UsedRange.Columns("A").Cells c.Value = Space(mlen - Len(c.Value) + IIf(InStr(c.Value, ".") > 0, 2, 0)) & c.Value Next c End Sub (mm) 2016/10/24(月) 12:31
どぞ^^
http://www.moug.net/tech/exopr/0070026.html
http://www.relief.jp/itnote/archives/001045.php
(まっつわん) 2016/10/24(月) 12:38
まっつわんさん、リンク先の方法では整数にも 1. のように小数点が表示されてしまう。
質問者のかまたさんがそれでいいのであれば問題ないが質問文から判断すると それでは問題ありそうだ。 (ねむねむ) 2016/10/24(月) 13:07
別案としては、
時々セル分けてる人も居ますね。小数以下。
(まっつわん) 2016/10/24(月) 13:23
半平太さんの応用で。
表示形式をユーザー定義の #,##0.0 とし、条件付き書式で =INT(A1)=A1 #,##0_ (_の次にスペース二つ)とする。 (ねむねむ) 2016/10/24(月) 13:28
ご回答ありがとうございます。
そうですね、小数点は表示させたくないんですよね。
上記の条件付き書式であしたまたやってみようと思います。
(かまた) 2016/10/24(月) 21:28
コードありがとうございます。
明日、やってみます!
(かまた) 2016/10/24(月) 21:29
あれ? 私の案でダメだったんですか?
(半平太) 2016/10/24(月) 21:46
すいません。
朝一で、やってみます!
読んでいたのにまだ実行してませんでした!
(かまた) 2016/10/25(火) 06:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.