Help us understand the problem. What is going on with this article?

「電卓使って再計算しろ!」→「Excelなんだから間違うはずないでしょ!」と言いたいけど言えないExcel落とし穴

More than 1 year has passed since last update.

Excelで作った集計値を「電卓で再計算しろ」となぜ言われるのか、これまで私が経験したExcelの落とし穴をまとめてみる。
電卓でもなんでもいいからチェックは必要だとしみじみ思う。

以下、星マークは『落とし穴の見つけやすさ』(★1:難 ~ ★5:易)を表している。

★★★★★ SUMの範囲がずれている

一番下に行追加して項目を増やした表でよく出くわす。
あるある過ぎてみんな気を付けるようになったのか、最近はさほど見かけなくなった。
1-1.png

↓ 商品を1個追加するために行を挿入すると・・・

1-2.png

まあこうなる。
一番上に行追加したパターンも何度かお目にかかった。

★★★★★ 計算式がずれている

10-1.png
コピペミスのときもあれば相対参照・絶対参照がおかしい場合もある。
ひな形の初期段階でたまに見かける。

★★★★☆ 非表示行がある

使いまわしているExcelシートでたまに見かける。なんで行削除しないで非表示としたのか?
項目数が多いと気づきにくい罠。

2-1.png

★★★★☆ 計算式が固定値に変えられている

間違って値貼り付けされたのか、関数を使えない方が頑張った結果なのか。
後で発覚する時限爆弾。これもシートの使いまわしでたまに見かける。
セルを保護しておけば防げる。
3-1.png

★★★★☆ 書式が整数なのに小数が入っている

エクセルの小数問題は闇。
内部的な計算結果は正しいが印刷すると明らかにおかしくなる。表示と中身が異なる弊害。
書式設定で回避できる。
4-1.png

★★★☆☆ セルの幅により表示桁数が変わっている

これも表示と中身が違うパターン。
セルの幅に余裕がない場合、小数の一部が四捨五入される。
列幅が絶妙だとズーム率によって表示桁数が変わることもある

5-1.png
この現象、印刷するまで見つけられないケースもあるのが厄介。
Excelでの印刷はプリンタドライバに依存するため、印刷するPCによって表示される桁数が変わることがある
(印刷したあとで確認しなかったために会議中に速攻突っ込まれた苦い思い出。)
一旦PDF化してチェックすれば印刷前に気づけるはず。

★★☆☆☆ 文字列が混じっている

別のデータからコピーしてきたのか、文字列の数字をそのまま張りつけたっぽい。ご丁寧に右寄せにしている。
緑色のエラーインジゲーターがなければ気づく自信がない。

6-1.png

↓ 緑の三角が見えるから選択してみると・・・。

6-2.png

文字列は集計されない時があるよ。

★★★☆☆ 背景色と文字色が同じ

なぜそうなっていたか経緯を知りたい。見えない。

★★☆☆☆ 結合セルに隠れている数値がある

まずは↓を見てほしい。
ある手順を踏まないとこんなことにはならない。
7-1.png

↓ 結合セルを解除するとそれぞれのセルに数値が隠れているのが分かる。

7-2.png

結合セルに数式貼り付けするときは十分注意すること。
というか、結合セルを集計しない方がよい。

★★☆☆☆ SUMとSUBTOTALの混合

小計を表示するからと言って調子に乗ってSUBTOTALを使うと、SUMしか知らない方がそっと壊しにくる。
不特定多数の人が使うならSUMで頑張るか小計を別の列に表示した方がよい。

↓ これが、
8-1.png

↓ こうされていた。
8-3.png

★☆☆☆☆ 書式が「#,###",000"」

9-1.png

書式で特殊なことをやっているなら要注意。
これは自分で仕掛けて自分でハマったやつ。
書式の中で一時回避したのを忘れていて半年後にそのセルをコピペして別の集計で使ってしまった。
今はこんなアホなことしない、たぶん。

★★☆☆☆ 計算方法が手動になっていて計算してくれない

セルが更新されないまま出力されてしまうパターン。
自分で設定を変えていたのなら諦めもつくが、いつの間にか手動設定になっているときがあるから困りもの。
手動設定のファイルを開きつつ他のファイルを開くとそれも手動設定になる仕様は、この観点でいえば正直辛い。
そのまま保存しちゃったりしたらずっと手動、辛い。
しかも保存するときには更新されるもんだから間違いを隠滅してくれる。
マルチタスクの人は気をつけて。

★☆☆☆☆ 時刻は内部的に小数で管理されていて、小数の計算はまれに誤差を生み出す

0:10に72を掛けると12:00になる。この書式を数値にすると0.500000000000000になる。
0:10を72回足しても12:00になる。この書式を数値にすると0.499999999999999になる。
見た目上は同じ時刻でも内部では差異が出る時がある。
例えば、勤怠管理表で「集計時刻が12:00以上だったら●●する」のようなIF文を作ってしまうと後者は合致しなくなる。
集計の仕方によって給与が変わる。

ということで

Excelは気を付けなければならないパターンがありすぎてどんなに簡単な集計値でも確実に合っているか毎回不安になる。他者が作ったものなら尚更。
体感的に10回に1回は何かしら間違いがある気がする。
1円でもずれると問題になる書類だとこの精度ではやっていけない。
別の式でもう一度チェックしたり、同僚にレビューしてもらったり、少しでも精度を上げて不安を取り除くしかない。テストだね。
その1つの手段として電卓も悪くない。数値が10個以下であればまあまあお手軽。それ以上なら別の手段を考える。

以上、他に注意点があったら気が向いたときに足していく予定。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away