そのため、今回、ちょっとした苦戦をしました。足し算の計算が合わないというものです。
先日、小数点以下の端数処理のことで戸惑ったばかりですが、今回もそれとの関連です。
先日戸惑った端数処理については、
⇒ こちらの記事をご覧ください。

【1】 計算が合わない事例
今回は、次のようなケースです。
(実際はもっと複雑ですが、便宜上、単純化しています。)
セルA1: 59 セルB1: =A1/7(つまり、59÷7)
セルA2: 30 セルB2: =A2/7(つまり、30÷7)
小数点以下は必要ないので、「セルの書式設定」ダイアログボックスを出して、「表示形式」タブ内の「分類」で数値を選び、「小数点以下の桁数」の項目を「0」と設定しました。
これで、小数点以下が消えて、整数となります(小数点第一位で四捨五入されることは承知の上です。)。
その計算の結果、
セルB1: 8
セルB2: 4
となります。
その上で、B1とB2の合計を、B3に出しました。
B1とB2を合計するために、セルB3に「=B1+B2」という数式を入れました。
そうすると、8と4の合計なので「12」となるべきところが・・・、
なんと、なんと、セルB3には「13」と出てきました。
あれれ・・・、計算が合わない。
これはいったい、どういうことなんでしょうか?

【2】 計算が合わない理由
上記の計算が合わない理由は、実に単純です。
「セルの書式設定」ダイアログボックス中の「小数点以下の桁数」の設定は、「見た目だけを変更するものだから。」というのが、その答えです。
「小数点以下の桁数」を「0」と設定すると、見た目は小数点以下がなくなり、整数となります。けど、それは見た目だけのことです。実は、パソコン画面上には小数点以下は出ていなくても、実体は小数点以下の値も保持したままなのです。
セルB1には「8」と表示されていても、実際には「8.42857・・・」という値が、
同じく、セルB2には「4」と表示されていても、実際には「4.28571・・・」という値が、
それぞれ入っているのです。
その各値を合計すると、小数点以下の値も計算対象となって、「12.71428・・・」となります。
合計を表示するB3セルにも、「小数点以下の桁数」を「0」と設定しているため、小数点第一位で四捨五入が行われて、「13」と表示されるわけです。
分かってみれば簡単なことですが、知らないと痛い目に遭う可能性もあります。
【3】 対処策
上記のように見た目だけを整数にするのではなく、実体も小数点以下を切り捨てて整数にする方法は、もちろんあります。
ROUND関数や ROUNDDOWN関数です。
ROUND関数は、設定桁数で四捨五入をして端数処理をします。
ROUNDDOWN関数は、設定桁数以下の端数を単純に切り捨てます。
上記【1】の事例で、小数点以下を単純に切り捨てようとすれば、
セルB1に、=ROUNDDOWN(A1/7,0) と、
セルB2に、=ROUNDDOWN(A2/7,0) と、
すればよいわけです。
いちいちROUNDDOWNと入れるのは、確かに少々面倒です。けど、計算ミスの結果、痛い目に遭うのを避けるためには、この手間は必要と心得るべきでしょう。
しかも、私の業務では、見た目だけを変更する「小数点以下の桁数」設定は、必要としないようです。だから、この設定は、通常は使用しないことにします。
それでは、また次の記事で
■■■■ goosyun ■■■■