資料室 > 計算する > 小数計算 > 数値の有効桁数を固定する

数値の有効桁数を固定する

【数式例】

「有効桁数が必ず3桁」
セルの入力値(計算結果)の桁数がどの様な場合でも有効桁数3桁の表示
12345 → 12300
123.4 →  123
12.34 →  12.3
1.234 →  1.24
0.1234 →  0.123

A1セルに数値が入っているとして、

=IF(COUNT(A1),ROUND(A1,-1*(INT(LOG(ABS(A1)))-2)),"")

「整数値に限りすべて有効数字」
1234.5 → 1235
元になる数値(仮にA1とする)の桁数によって結果の小数点以下の桁数が変化する必要があるので桁数に応じてROUNDするような関数が必要

整数部分が3桁以上ある時に整数だけを返す(有効桁数が増える)にはIF関数で小数点以下の部分を常にROUNDする部分を加えて

=IF(COUNT(A1),ROUND(A1,IF(LOG(ABS(A1))>2,0,-1*(INT(LOG(ABS(A1)))-2))),"")

【解説】

COUNT(A1)はA1に入力があるかどうかを確認する部分なので、計算の本体ではない。
LOG関数はLOG(数値,底)という書式だが、引数「底」を省略で「底」を10に指定したとみなされる。
結果的にLOG(ABS(A1))は「10を何乗したらA1の絶対値の数値になるか?」の解となる。
ABS関数は絶対値を求める関数で、ここで使用する理由は、(虚数を考えなければ)10を何乗しても-1にはならないからである。
-1*(INT(LOG(ABS(A1)))-2))はROUND関数の丸め位置を何とか理屈が合うようにしていると考えてもらえばいい。


前(小数計算) 目次 次(入力・編集)


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送