Registered 2022.01.10 Update 2023.05.21 技術習得:業務系アプリQ&A,独自開発
Registered 2022.01.10 Update 2023.05.21 技術習得:業務系アプリQ&A,独自開発
建設コンサルの技術部に勤務していたとき、水理計算をやったことがあります。水の流れ方や速度、水流が与える影響などの計算やグラフ表示をするため、Excel様のお世話になります。
某ダムの改修計画書の作成にかかわった時のこと。
最初の計画をExcelで再現、現状をExcelで再現、改修案をExcelで再現という3つの再現計算がありましたが、このうち私が携わったのが改修案のみ。
ところが管理技術者(業務の責任者)が「最初の計画の再現ができていない」と私に修正指示を出しました。当時、その再現をした担当者が出張でいなかったので私のところに来たようです。
水理計算は増大なデータと数式を使うのでまずは数値が根拠とあっていない箇所を追跡しましたが、なぜが計算は合っています。
補正されているのかと探しましたが、これもなし。
1時間ほど悩んだところで、根拠になった報告書を最初から読み直すことにしました。この時、私は技術者ではなく単にExcel計算ができるから配属されてた無知人間。報告書の説明もないまま作業していたほどなので、基本に立ち返る意味もありB4サイズで厚さ5cmほどのほこりっぽい手書きの報告書を読むことにしました。
蛇足ですが、私の生まれる前に書かれた報告書でした。
この手の報告書は無知な人が読んでもわかるように作るそうで、大変わかりやすかったです。某ダムの流量を計算する内容で地域全体を一括まとめて計算する方法、本来あるべき細かく分かれた地域を計算し積み上げていく方法、2つの結果が一致するからさらに話は展開していき、基準値が決まる。
で、2つほど気になる点を発見。「全体一括計算と積み上げた計算の値が一致する」ことと「計算説明が1か所だけ異なるルールで書かれている」ことです。
消費税の計算で分かってもらえるでしょうが、端数というものがあります。
水理計算は下3桁(下4桁もあり)になるように四捨五入(Excelでは四捨五入がRound関数、切り上げ計算がRoundUP関数、切り捨て計算がRoundDown関数を使います。)するので、全体一括計算と積み上げ計算では端数処理で必ず異なる結果が出てきます。
でも、根拠になってる古い報告書はピッタリ一致。
計算説明では「公式、公式に値を入れた式、答え」の3段がありましたが、1か所だけ「公式に値を入れた式」がないものがありました。紙のスペースは十分あるので書ききれないから削ったわけではなさそう。
もしかしてと思い、この計算の前後の値を、根拠の報告書と再現中のExcelで見比べてみました。
予想通り、この位置で再現ができなくなっていました。
計算式は合っているのになぜ値が合わないのか。合わない値をピックアップし規則性やら参考文献を引っ張り出したり補正の証拠探しやらしてみたものの、古い報告書には何も書いていません。
こうなると技術者でもない自分としては「報告書の辻褄を合わせる改ざんが行われている」と考えてしまうわけです。
この結果を管理技術者に持っていったら頭を抱えていました。
「ひとまず預かる」と言い、技術士・士補資格を持つ人達で検証したようです。
その後、発注者との協議の結果、この話はなかったことになりました。
あの報告書を作った当時の技術者が気が付かないわけもなく、1か所だけ書き方の違う箇所があること、隠しているのにわかりやすくヒントを入れていることも踏まえると、やっぱり改ざんだったんでしょう。あのヒントは良心の呵責ってやつですかねぇ。
現場って大変ですね。