[[20050518200242]] 『有効数字の桁数について』(エクマル) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『有効数字の桁数について』(エクマル)

ある計算結果の数字を、有効数字の桁数を指定する方法を教えてください。
(例えば、有効数字を3桁とすると、0.00111・・・ 0.111・・・
 1.11・・・となるように)


 A1セルに 0.012345  とあるとすると
 =INT(A1*10^(2-INT(LOG(A1,10))))/10^(2-INT(LOG(A1,10))) で
 0.0123 が返ります。A1を「ある計算」に置き換えてみて下さい。
(純丸)(o^-')b


 昨夜気が付きましたがマイナスだとエラーになるので、下記のように
 訂正します。但し 0 はエラーになります。
(純丸)(o^-')b
 =INT(ABS(A1)*10^(2-INT(LOG(ABS(A1),10))))/10^(2-INT(LOG(ABS(A1),10)))*A1/ABS(A1)


 =--TEXT(A1,"0.00E-0")というのは、どうでしょう?4桁目で四捨五入されます。   (LOOKUP)


 さすが LOOKUPさん、こんな簡単に出来るんですね。感心するばかりです。
 自分のは取消したいところですが、取り合えず4ケタ目切捨ての場合に
 使えそうなので置いときます。
(純丸)(o^-')b


 こちらに統合しました。
(kazu)


『続.有効数字の桁数について』(エクマル)
昨日の回答、純丸さん、LOOKUPさんありがとうございました。

=--TEXT(A1,"0.00E-0")⇒この方法で概ね解決なのですが、
例えば、以下のような場合の有効数字が3桁にしたい場合、
    0.1299⇒0.13  さらに0.130にしたい

        12.999⇒13   さらに13.0にしたい
四捨五入時に三桁目が0になる場合0を表示する方法はないでしょうか。
分かりにくい質問ですが、よろしくお願い致します。


 数値では、お望みの結果がすでに出ています。表示は、セルの表示形式か、
 ←.0
 .00
 のアイコンを利用し、個別に変更することになるように思います。

 文字列で表示させるものは、このようにされたらどうでしょう?

 =--TEXT(A1,"0.00E-0")
 &REPT(".",LEN(ABS(--TEXT(A1,"0.00E-0")))<3)
 &REPT(0,MAX(,3-LEN(ABS(SUBSTITUTE(--TEXT(A1,"0.00E-0"),".",)))))

   A      B
   0.1299  0.130
   12.999  13.0
  0.0001235  0.000124
   0.001235  0.00124
   0.01235  0.0124
    0.1235  0.124
    1.235  1.24
     0.01  0.0100
    0.012  0.0120
   0.00123  0.00123
      0  0.00
      1  1.00
      10  10.0
     100  100
 -0.0001235  -0.000124
  -0.001235  -0.00124
   -0.1235  -0.124
   -1.235  -1.24
     -1  -1.00                           (LOOKUP)


ありがとうございました。
解決しました。
(エクマル)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.