Excelで怖いのは、壊れた瞬間ではありません。
壊れているのに、普通に数字が出ているときです。
たとえば100行ある集計表。
99行には数式が入っている。
でも、47行目だけ誰かが値を直接入力してしまった。
画面上は「125,000」と表示されています。
エラーなし。
警告なし。
赤文字にもならない。
そのまま月次集計まで進みます。
はい。地味に最悪です。
既存Excelの修正を長くやっていると、「動かない」より「動いているけど結果が信用できない」方が難しいことがあります。エラーなら原因を追えますが、普通の数字として残っているミスは、まず疑うところから始めないといけません。
Excelは「数式が消えました」と教えてくれない
数式がエラーになれば分かりやすいです。
でも、数式そのものが削除されて値に置き換わった場合、Excelから見ると正常です。
そこに数字が入っているからです。
たとえば、
D10 = B10 * C10
D11 = B11 * C11
D12 = 9800
D13 = B13 * C13
となっていても、D12はエラーではありません。
人間が「この列は全部同じ計算式のはず」と知っているから違和感を持てます。
逆に、その前提を知らない人が引き継いだら普通に使います。
数式ミスは「見た目」ではなく「規則」から探す
こういうチェックで大事なのは、数字そのものを見ることではありません。
列や行のパターンを見ることです。
たとえば、
・同じ列の上下には数式があるのに1セルだけ値
・同じブロック内で1セルだけ参照先が違う
・コピーした式の一部だけ列参照がずれている
・SUMの範囲が途中までしか入っていない
こういう「周囲と違うセル」を候補として出します。
もちろん、違うから必ずミスとは限りません。
例外的に手入力が必要なセルもあります。
だから「自動修正」より「怪しいセルを洗い出す」方が安全なんですよね。
人間が全部見ると、正常なセルに時間を使う
1000セルのうち、怪しいのが5セルだったとします。
目視チェックでは1000セルを見ることになります。
でも機械側で候補を5セルに絞れば、人が見るのは5セルです。
この考え方は、私が業務改善でよく使います。
全部を機械に判断させない。
人が判断しやすいところまで絞る。
これだけでもかなり楽になります。
ChatGPTにExcelを丸ごと渡して「ミス探して」と言いたくなるところですけど、会社の実データをそのまま放り込むのは別の問題が出ます。
それに、毎月チェックするなら毎回プロンプトを書くより、ルールとして固定した方が安定します。
数式チェックは「壊れてから」より「提出前」が強い
よくあるのが、数字が合わなくなってから調べるケースです。
「先月までは合っていたのに」
「どこか式が消えたかもしれない」
この状態から原因を探すのは大変です。
それより、毎月提出する前に一度チェックする方が楽です。
・数式が抜けたセル
・周囲と違う式
・参照先が不自然なセル
こういうものを一覧にしておけば、確認してから提出できます。
保険に近いですね。
何もなければ「今回も大丈夫」で終わります。
完成済みの数式診断ツールを用意しました
この用途に絞って、Windows向けのExcel数式診断ツールをコンテンツマーケットに出しています。
▼ Excelの数式抜け・数式ミスを自動診断するツール
Excelファイルの数式を確認し、数式抜けや周囲と異なる数式など、確認した方がよいセルを探すためのツールです。
「毎月使うExcelがあるけど、式が壊れていないか不安」
「前任者から引き継いで、そのまま使っている」
こういう方にはかなり分かりやすい用途だと思います。
価格も1,000円にしています。
いきなり開発を依頼するほどではないけど、一度チェックしてみたい人向けです。
実務Excelは、例外セルが普通にあります
ただし、ここは重要です。
会社で長年使っているExcelほど、独自ルールがあります。
「ここだけ手入力で正しい」
「この行だけ計算方法が違う」
「結合セルがある」
「別シートを参照している」
もう、Excelが小さな業務システムになっていることもあります。
そういうファイルは汎用ツールだけで完全判定するのは難しいです。
(長年育ったExcel、たまに誰よりも会社のルールを知っています)
その場合は、実際のファイル構成に合わせてチェックロジックを作れます。
▼ Excel/Python/GASの自動化相談・開発
「この列は必ず数式」「この範囲だけチェック」など業務ルールが決まっているなら、むしろ専用化した方が精度を上げやすいです。
Excelのミス対策というと入力規則やセル保護を思い浮かべますが、すでにあるファイルを確認する仕組みもかなり効きます。
特に怖いのは、エラー表示ではありません。
普通の顔をして残っている1セルです。