プロが教えるわが家の防犯対策術!

G列の書式設定を数値、小数点以下0桁に設定してあります
D列にある特定の文字が入力された時だけ、小数点以下の桁数を1桁にしたいのですが、どのようにすればよいでしょうか?
それと小数点以下0桁、1桁の数字の桁位置をそろえることはできますか

A 回答 (5件)

#4の補足に関して


>書式を設定する関数を作ることはできないんですか
できません。
値まで変えてしまって、書式的に値を変えてしまう関数なら
TEXT関数があります。
例えば
A1に数、B1に=TEXT(A1,"00.00")
しかし元は数値だったものが、結果は文字列の値になってしまいます。

この回答への補足

回答ありがとうございました。
G列に式を入れておいて直接数値を入力して表示を変えるのは絶対にできないんですね。
VBAというのは使ったことがないんですけど、これでこの処理をするのはかなりむずかしいんですか?

補足日時:2006/07/09 10:26
    • good
    • 1

下記のエクセルの原則をしっかりつかんでください。

無駄な質問を
せずに済みます。
小数点以下の表示は、「書式」に属することです。
関数は書式を設定できません。セルの値だけです。
条件付き書式も、表示形式の選択はありません(E2002)
ですからVBAでやるよりほかありません。
>小数点以下0桁の場合小数点なしで表示したいのです
これも過去にOKWAVEで数回質問が出たように思うが、結論は、すんなりした方法では不可能だったと思う。

この回答への補足

やはりりそうなんですか、
最初に条件付き書式でやろうとしたけどできなくて、IF文でなんとかできないかなと思ったけど書式を設定する関数がわかりませんでした。
存在しない物を探しても見つかるはずないですね。
EXCELの解説書か何かに関数を自分で作れると書いてあったような気がするんですが、書式を設定する関数を作ることはできないんですか?

補足日時:2006/07/08 21:48
    • good
    • 1

どうも、#2です。


>A列からT列まであるかなり大きな表
ん?条件によって変えるのはG列だけではないのでしょうか?全ての列に入力用と表示用がいるわけではなく、変えたいセルだけでいいのですが、それでもだめですか?

>直接入力で、可能な方法はないでしょうか?
であるのなら、VBAでやるしかなさそうですね。

この回答への補足

条件によって変えるのはG列だけなのですが、
現在1画面でA列からT列まで表示できていますギリギリまでセル幅を縮めたので列を挿入するとデータの入力や表示が見にくくなりますし、印刷する時に入力用の列の列幅を0にする手間がかかります。
なので、なんとか直接入力でできる方法はないかなと思って質問しました

補足日時:2006/07/07 22:57
    • good
    • 0

見かけ上のみ、ダミーのセルを使う、と言う条件でよければ...



G1に以下の式を入れればできると思います。
= IF($D2 = "A", TEXT($H2,"#,##0.0"), TEXT($H2,"#,##0") & " " )
この場合、G列(右揃え)が表示用、H列が入力用になりますが。
だめですかね。

この回答への補足

回答ありがとうございます
試してみました、小数点の桁数を条件によって変えることはできました
しかしA列からT列まであるかなり大きな表なので表示用と入力用に分けるのはちょっと困ります。
直接入力で、可能な方法はないでしょうか?

補足日時:2006/07/07 11:30
    • good
    • 0

小数点は残りますがそれでいいなら、表示形式をユーザー定義にして


#,##0.?
とすれば?の部分が0の時はブランクが入り桁調整できます。
100 → 100._ "_"はブランク
10.1→  10.1
10.01→ 10.
10.05→ 10.1

この回答への補足

すばやい回答ありがとうございます
小数点以下0桁の場合小数点なしで表示したいのです
100--> 100
10.1--> 10.1
↑こんなかんじです

補足日時:2006/07/07 10:15
    • good
    • 0

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

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