プロが教える店舗&オフィスのセキュリティ対策術

excel 少数以下表示/非表示の関数についてお力を貸してください

A1の値が10以下(少数以下1位)なら少数以下を表示
10以上なら少数なしの2桁表示を行いたいですが

現在の式では以下のように表示されます
2.8  = 2.8
14.5 = 15
29.0 = 29.0

私の希望では
29.0 = 29 と表示させたいのですが

A1のセルの見た目では29.0 なのですが 内部処理では29で扱われているようで
LEN文字列3文字から漏れるのが原因のようです
A1はユーザー定義ではなく、通常の数値もしくは通貨の-1で行いたいです

じっくり調べれば良いのですが 時間がないのでよろしくお願いします


=IF(ISNUMBER(A1),IF(LEN(A1)>3,TEXT(ROUND(A1,-(LEN(A1)-4)),"##0 "),TEXT(A1,"##0.0 ")),"")

以上、よろしくお願いいたします

A 回答 (3件)

良くわからないけど,B1のセルならば



=IF(A1<10,A1,ROUND(A1,0))

マイナスもそうするなら

=IF(OR(A1<10,,A1>-10),A1,ROUND(A1,0))
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にさせていただきました

今回は以下の関数で行きます
入力元のセルの値が0やマイナス、数値以外なら「ND」表示
A1の値が10以下(小数以下1位)なら小数以下を表示
10以上なら小数なしの2桁表示

=IF(AND(ISNUMBER(A1),A1<>0),IF(A1<10,TEXT(A1,"##0.0 "),TEXT(ROUND(A1,-1),"##0 ")),"ND")

お礼日時:2016/04/13 10:58

「少数」?

    • good
    • 0
この回答へのお礼

「小数」が正解でした ありがとうございます

お礼日時:2016/04/13 10:59

こんばんは!



別セル表示ではなく、表示されているセルそのものの表示形式で操作してはダメですか?

表示形式のユーザー定義から
[<10]0.0;0
としてみてはどうでしょうか?

※ ピッタリ10の場合はどちらに入れるのか判らないので
10未満の場合は小数点以下1桁表示になります。

※ 実データが小数点以下2桁以上の場合(仮に9.99のような場合)は
実データは10未満なので
10.0 と表示されます。m(_ _)m
    • good
    • 0
この回答へのお礼

面倒な関数無しで簡単に表記できますね
今回表示されるセルに定義する関数には、数値以外なら「スペース」とする等の表示加工があるので、ユーザー定義は有効になりませんでした

しかし、今後活用したいと思います
ありがとうございました

今回は以下の関数で行きます
入力元のセルの値が0やマイナス、数値以外なら「ND」表示
A1の値が10以下(小数以下1位)なら小数以下を表示
10以上なら小数なしの2桁表示

=IF(AND(ISNUMBER(A1),A1<>0),IF(A1<10,TEXT(A1,"##0.0 "),TEXT(ROUND(A1,-1),"##0 ")),"ND")

お礼日時:2016/04/13 10:57

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