- 公開日:
- 更新日:
エクセルの有効数字(2桁/3桁)の設定方法
エクセルで有効数字の2桁や3桁指定をする方法をご説明します。3つの関数を組み合わせるので少し複雑ですが、数式を分解して説明いたします。
有効数字とは?
測定値の計算で大きな桁数になっても、実際に数値として意味のあるデータとするためには何桁までの数値を取るかと言うのが有効数字です。
例えば冷蔵庫を購入するとき配置する場所の寸法を測ると思います。
- Aさん「横幅は70cmです。」
- Bさん「横幅は70.6cmです。」
- Cさん「横幅は70.57cmです。」
- Dさん「横幅は70.574cmです。」
この4名が導き出した数値はそれぞれ小数点の桁数が異なりますが、冷蔵庫の搬入するときのデータとしては概ねBさんのデータで十分なのです。
Cさん、Dさんの小数点の桁数は意味のないデータとなります。
有効数字3桁とは?
有効数字3桁で算出してほしいと言われたら、実際どのような数値になるのか以下の表をご確認ください。
数値 | 有効数字3桁 |
---|---|
123456 | 123000 |
12.3456 | 12.3 |
0.00123456 | 0.00123 |
関数で有効数字を2桁/3桁にする方法
エクセルの関数を組み合わせれば、有効数字の2桁/3桁を導くことが可能です。
LOG10関数(常用対数)を使って桁数計算

まずはLOG10関数を利用して桁数を求めてみましょう。

「5.091512」と算出されましたが「+1」をすれば桁数になります。
INT関数を使って桁数を小数点以下切り捨て

INT関数を利用して小数点以下を切り捨てます。また正の数を負の数に、負の数を正の数にしたいので-INTとします。
マイナスを付与した理由は、後ほど利用するROUND関数の桁数指定のためです。

「-5」と算出されました。
数値で桁数調整

今回は有効数字3桁にするので、「+2」を指定します。有効数字2桁にしたい場合は、「+1」を指定してください。

「-3」と算出されました。この値が、どの桁数で四捨五入するのか判定します。
ROUND関数を使って四捨五入

最後に「-3(百の位)」という桁数でROUND関数を利用して四捨五入します。

「123000」と算出されたので、123456の有効数字3桁の値となります。最終的な関数は『=ROUND(B2,-INT(LOG10(B2))+2)』となります。
0の有効数字はどうなる?

それでは0の有効数字はどのように計算されるのか見ていきましょう。先程の123456という値を変更してみます。

「0」に変更しました。LOG10の時点で#NUM!エラーが出てしまいました。0またはマイナスの負の数の算出は不可能ですのでエラーとなります。