エクセルで有効数字で丸める方法|ROUND+LOG10の式と指数表示

エクセルで有効数字で丸める方法|ROUND+LOG10の式と指数表示

エクセルには「有効数字○桁」を指定する専用の設定や関数はありません。有効数字で丸めるには、ROUND関数の桁数を、数値の大きさに合わせて自動で決める次の式を使います(B1 に有効数字の桁数を入れておきます)。

=ROUND(A4,$B$1-1-INT(LOG10(ABS(A4))))

この記事では、実際に試した結果をもとに、有効数字で丸める式のしくみと、末尾の0を表示するための指数表示を説明します。

目次

有効数字で丸めた結果

エクセルで有効数字3桁に丸めた表
①有効数字で丸める式です。②B1 に有効数字の桁数(3)を入れています。③12345 は 12300、0.004567 は 0.00457 になりました。④2.004 は「2」と表示されます(指数表示の C列なら 2.00E+00)。
元の数値有効数字3桁有効数字2桁
123451230012000
0.0045670.004570.0046
3.141593.143.1
987.65988990

式のしくみ

部分意味(12345 の場合)
ABS(A4)マイナスの数も扱えるように、絶対値にする
LOG10(…)桁の大きさを求める(12345 なら約 4.09)
INT(…)整数にする(4)。「1万の位」が先頭という意味
$B$1-1-INT(…)ROUND に渡す桁数(3−1−4=−2 → 百の位で四捨五入)

ROUND関数の桁数がマイナスのときは、整数部分(十の位・百の位…)で四捨五入します(四捨五入する方法)。

末尾の0まで表示したいとき(指数表示)

有効数字3桁で「2.00」と表示したいのに、セルには「2」と出てしまいます。エクセルは、数値の末尾の0を表示しないためです。

末尾の0まで表示したいときは、表示形式を「指数」(ユーザー定義の 0.00E+00)にします。有効数字3桁なら「0.00」と小数点以下2桁にすると、「2.00E+00」「1.23E+04」のように、いつも3桁で表示されます。

うまくいかないときの確認表

症状考えられる原因対処
「#NUM!」になる元の数値が 0(LOG10 は 0 を計算できない)=IF(A4=0,0,ROUND(…)) のように 0 を分ける。
末尾の0が表示されない数値の末尾の0は表示されない指数表示(0.00E+00)にする。
表示だけ丸めたいROUND は値そのものを変える表示の桁数だけ変える方法は小数点以下の表示を変える方法。
練習用Excelファイル(無料ダウンロード)
有効数字で丸める式が入った表です。B1 の桁数を変えて、結果の違いを試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:端数処理の関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次