見出し画像

目次 > 入力・集計 > 数式・関数

【まとめ】
前記事(その1)はこち(本当に超基本です)
・数式は = から始める(+ から始めない)
・足す「+」。引く「-」、掛ける「*」、割る「 / 」
・四則演算(足す、引く、掛ける、割る)の順番は小学校の算数で習ったのと同じ( カッコ内 ⇒ 掛ける・割る ⇒ 足す・引く)



以下が、このページ(その2)掲載
・割り算は小数点以下の桁数を揃えておく(ROUND関数/INT関数)
・数式内に数値は入れない。


【説明】

その1」の続きです。
「超基本」とありますが、ちょっとマニアック(?)な中身も含みます。

2つとも、単なる数式(数値と数値の計算)だけでなく、関数を使う場合にも、配慮が必要な内容です。

従って、この部分は、やはり基本として最初に理解しておく方がいいでしょう。


割り算は、小数点以下を整理しておく(議論のあるところかもしれません)

計算を行う上で注意が必要なのは、割り算です。
割り算は「割り切れない(場合が多い)」という問題があります。
小数点以下が延々に続くものもあります。


しかし、エクセルでは、小数点以下が延々続く数値でも、セルの表示上は、整数だったり、小数点以下第1位や第2位までだったりします。

例えば下の表。
全て 2÷3 なので、割り切れません。
0.66666と永遠に続きます。

しかし・・

1番上の答えは、0.7
2番目の答えは、0.67
3番目の答えは、0.666667

1番上は小数点第1位で四捨五入(0.67⇒0.7)
2番目は小数点第2位で四捨五入(0.667⇒0.67)
3番目は小数点第6位で四捨五入(0.6666667⇒0.666667)
*「第〇位で四捨五入」とは「〇の下の桁を四捨五入」という意味です(算数の教科書参照
)。

それぞれ答えが違います。
これはセルの幅によるものです。
普通に計算式を入れればおそらく3番目になります。

あるいは、セルの幅に関係なく「セルの書式設定」で小数点以下の桁数を決めている場合もあります(あまり例はないと思いますが、前任がやっているという可能性は残ります)。

当然ですが、割り算の答えによっても桁数は変わります。
割り切れる桁数が短ければ、そこまでの表示となります。桁数が長ければ途中で四捨五入されます。


このように、セルや計算結果によって、表示される桁数が異なる場合があり、表示される最後の桁数の次の桁の数値で「勝手に」四捨五入されてしまいます。


そのため、計算式で出たセル内の数値の合計と、実際に表示されている数値の合計とが、異なる場合があります。
表の合計を電卓で検算する際、表示されている数値を正しく叩いているにもかかわらず、どうしても端数が合わない、ということがしばしばあります。


例えば下の図。
全て=11/3(つまり11÷3)です。
しかし、セルによって、答えの数値が違っています。
=11/3は、割り切れません。
3.666666・・・と永遠に6が続きます。
単に =11/3 とすると、セルの中にはこの「3.666666・・・」が入ったままです(実際に何桁まで入っているかはわかりませんが)。

しかし、セルに表示される数値は、設定によって違います。
上の図の①は小数点以下第1位まで、
②は第2位まで、
③は第7位まで、表示しています。
通常は、①か②でしょう。
いずれも次の位は「6」なので、切り上げて最後の数字は7になっています。
入力する側は、特に何もしていない(四捨五入や切り上げ、切り捨てを指示していない)にもかかわらず、勝手に四捨五入しています。

一方、④ではROUND関数により小数点以下第1位まで表示(第2位を四捨五入)、⑤では
INT関数により整数化(小数点以下第1位を切り捨て)しています。
これは、エクセルに「四捨五入して」「切り捨てて」と指示しているからです。


上記①②③のように、指示しないのに勝手に四捨五入になるのは、便利な反面、問題も生じます。


下の表では、
11÷3の答えが 3.7 となっています。
それを3つ合計する場、
表内の数値で計算すると、
3.7+3.7+3.7=11.1 になるはずですが・・・

あえてSUM関数は使っていません

D23セルは11.0となっています。
なぜか?


分数で示せば11÷3は 11/3。
11/3が3つあれば 11/3+11/3+11/3=11/3×3=11
簡単な算数です。
算数的には、11が正解です。
だから、この場合、エクセルは正しい。

でも、上のエクセルのセルに表示されている数値を手計算しても、11にはなりません。

これはトラップです。

こんな単純な表なら、理由はすぐにわかると思います。

でも、実務の表は、もっと複雑です。
そうすると、手計算による検算とエクセルが出した答えとが合わず、慌てる場合があります。

このトラップを封じるにはどうすればいいか?
結構、面倒な問題です。

手はいくつかあります。

一つは「放置」。
意図的な「放置」でない単なる「放置」を含め、これが一番多いでしょう。
割り算の結果は、そのまま、何もしない。
そのうえで、小数点以下がある数値(例:パーセンテージ)の「合計」は、「四捨五入の関係上、各数値の計が合計欄と合わない場合があります」等と表外に記載しておきます。
これは結構ある例です。
これについては作表のところでもいずれ触れたいと思います。

こういった注釈がないと、表を手計算して合計欄と合わないので慌てる、ということもおきます(会議の席上、念のため計算していたら、合わない・・・と冷や汗をかいたことも)。


もう一つは、割り算の結果を、意図的に、関数を使って「小数点第〇位まで」に、あるいは「整数」にして「整えておく」、です。

具体的には、商(割り算の答)を、ROUND関数(四捨五入)やINT関数(小数点以下切り捨て)で、小数点以下の桁数を揃えておきます。
(ROUND関数とINT関数では負の値の扱いが異なるので注意が必要。別項目で説明予定)


これにより、「管理された(許容範囲の)誤差」(まるめ誤差)を作ります。

結果的に、上同様、表示される数値の手計算による計とエクセルが出す計とが合わない場合が生じますが、誤差を「管理」している点が大きく違います。

「放置」により、知らないうちに誤差が生じるよりは、桁数(どこで四捨五入/切り捨て/切り上げするか)を決めておき、誤差が出ることを前提としておく、のです。
誤差があることが前提なので、誤差が出ても慌てません。


小数点以下の数値は、パーセントでの扱いが多いと思いますので、よろしければ以下もご覧ください。
[Excel]パーセントの出し方、表示方法(全体比、対前比、増減比)



数式には数値を直接入れない


数式に入れるのは数値でも構いません。
セルを入れなくても構いません。

B2が10で、C2が2なら
=10+2でも、=10+C2 =B2+2 でも結果は同じです。

斜め線のセルに数値は入っていません

ただし、数式に「10」や「2」といった数値を直接入れてしまうと、後で直すのが面倒です。

セル毎に、いちいち、F2(あるいはセルをダブルクリック)で数式を編集モードにして、数値を入れ替える。
これダメです。面倒、かつ、間違えます。


その点、数値をセルに入れ、そのセルを数式に入れておけば、セルの数値を直すだけで、計算結果が変わります。

上の表のような入力をする人は少ないと思いますが、以下はどうでしょう?
税込み額を出す表です。

税込み額を出すために、税抜き額に税率(①と③は1+税率)を掛けています。
①のように税込み額に1.1を直接かけても答えは出ますが、税率が違う(変わった)場合には、セルの数式をいちいち修正しなければいけません。

その点、②や③は、税率(③は1+税率)のセルを直すだけで済みます。
数値を打ち込むだけですから、簡単です。
なお、
②の場合は「1」が数式内に入っていますが、この1は不変の数値ですので、税率が変わっても、「1」のままです。修正は不要です。
ただし、数式をわかりやすくするには、③の方がいいでしょう。税率は「1.1」ではありませんが、1+税率ということで、内部的に使う書類では問題ないでしょう。

「変わりえる数値」は数式内ではなく、どこかのセルに入れておけば、数式(元セルを参照するだけ)で、どこか一つのセルを直すと他のセルもすべて変わる、という風にすることもできます。

数式内の数値も「置換」で一括修正も可能ですが、間違えるリスクが高く、また、エクセルに不慣れな後任には修正できないかもしれません)。


以上、「数式の入力」の超基本、でした。

「超基本」と書いたのですが、かなり長くなってしまいました。
おまけに図が少なく、文字中心になってしまいました。
「基礎」というか「基本」を説明するのは難しいものです。

分かりづらかったごめんなさい。


いいなと思ったら応援しよう!