建設DXでExcel帳票の属人化はなぜ残るのか|自動化に必要なデータ正規化
前回の記事では、自治体独自の橋梁点検Excelを実際に自動化してみると、セル結合や複雑なレイアウト以上に、
自由記述・所見・欄外注記などへ意味が分散していること
が大きな壁になる、という話を書きました。
では、その問題をもう一段掘り下げると何が見えてくるでしょうか。
答えの一つが、
データの正規化
です。
建設DXでは、
「Excel作業が属人化している」
「担当者しか分からない」
「毎回手作業で転記している」
といった問題がよく出てきます。
こうした話を聞くと、
ExcelをSaaSへ置き換える。
VBAで自動化する。
CSVへ変換する。
APIで連携する。
といった技術的な解決策を考えたくなります。
しかし、実際に既存帳票を自動化すると、
属人化の原因は、作業方法だけではなく、データの意味そのものが統一されていないことにある
と分かる場合があります。
つまり、
「誰が作業しているか」
の問題だけではなく、
「同じ意味の情報を、誰もが同じ形で記録しているか」
という問題です。
Excelの属人化は「担当者が詳しい」だけではない
属人化という言葉は、かなり広く使われます。
たとえば、
- 特定の担当者しかマクロを直せない
- ファイルの保存場所を一人しか知らない
- 手順書がない
- 独自の関数やVBAが大量に入っている
- その人が休むと業務が止まる
といった状態です。
もちろん、これらも属人化です。
ただ、帳票DXを進めると、もっと根深い属人化が見えてきます。
それは、
データの読み方そのものが担当者の頭の中にある状態
です。
たとえば、橋梁点検のExcelに、
「その他」
「備考」
「所見」
といった欄があったとします。
担当者はその文章を読み、
「これは支承の腐食について書いている」
「これは前年度から継続している変状だ」
「これは評価値を変える話ではなく補足説明だ」
と自然に理解します。
しかし、その判断ルールはExcelの中に明示されていません。
つまり、
人間の頭の中にだけ存在する変換ルール
があります。
この状態では、担当者を変えても属人化が残ります。
なぜなら、問題は操作手順ではなく、意味の解釈にあるからです。
自動化すると「データの揺れ」が全部見える
人間同士でExcelを使っているうちは、多少表現が揺れていても業務は回ります。
たとえば同じ変状でも、
- 腐食
- サビ
- 錆
- 発錆
- 著しい錆
- 支承部腐食
のように、いろいろな書き方があり得ます。
人間なら文脈から理解できます。
しかし、機械的に集計しようとすると、
「これは全部同じ分類なのか」
を決めなければなりません。
さらに、
同じ情報が、
- チェック欄
- 自由記述
- 別シート
- 所見
- 写真コメント
- 欄外注記
へ分散している場合があります。
人間はそれらをまとめて理解します。
一方、プログラムでは、
どれが正式値なのか。
どれを優先するのか。
重複していたらどうするのか。
矛盾していたらどうするのか。
を決める必要があります。
自動化とは、ある意味、
人間が今まで曖昧に処理していたものを、全部仕様として表に出す作業
でもあります。
「セルを統一する」だけでは正規化にならない
Excel帳票を自動化するとき、
まずセル位置を揃えようと考えることがあります。
橋梁名はB3。
路線名はD5。
評価値はG10。
といった形です。
これは非常に重要です。
しかし、セル位置が統一されても、
中に入る値の意味が統一されていなければ、十分ではありません。
たとえば、
ある帳票では、
「腐食」
と書く。
別の帳票では、
「発錆」
と書く。
別の担当者は、
「サビ有」
と書く。
セル位置が同じでも、集計側から見ると別の文字列です。
逆に、
入力値がコード化されていて、
C01 = 腐食
のように意味が固定されていれば、セル位置が多少違っても変換できます。
つまり、帳票DXで重要なのは、
場所の正規化だけでなく、意味の正規化
です。
ここでいう「データ正規化」とは何か
「正規化」という言葉は、データベースの世界では厳密な意味を持ちます。
第1正規形、第2正規形、第3正規形などの考え方があります。
ただし、この記事ではもっと実務寄りに、
同じ意味の情報を、同じルール・同じ項目・同じ形式で扱えるように整理すること
という意味で使います。
たとえば、
「支承」
「支承部」
「ししょう」
を一つの標準名称へ寄せる。
評価値を、
A、B、C、D
のような決められた選択肢にする。
橋梁名、路線名、径間番号、部材、変状、評価、コメントを別々の項目として持つ。
補足説明と評価値を分離する。
こうした整理です。
人間が見れば同じ意味でも、機械はそのままでは同じだと分かりません。
そのため、
人間の常識をデータ仕様へ落とす作業
が必要になります。
属人化は「自由度」と表裏一体
Excelが長く使われる理由の一つは、自由度が高いことです。
項目が足りなければ列を増やす。
説明が必要ならセルに書く。
例外があれば備考へ追加する。
図や矢印も置ける。
写真も貼れる。
印刷レイアウトも自由に作れる。
これは現場にとって非常に便利です。
特に建設実務では、
すべてのケースを最初から想定するのが難しいため、
「例外を書ける場所」
は必要です。
しかし、その自由度が積み重なると、
担当者ごとの運用が生まれます。
担当者Aは備考欄。
担当者Bは欄外。
担当者Cは写真コメント。
担当者Dは別シート。
という状態です。
その結果、
同じ業務でも、情報の置き場所が人によって変わる
ようになります。
これが属人化です。
つまりExcelの属人化は、
「Excelが古いから」
だけではありません。
自由度の高い道具を、入力ルールを十分に定義しないまま長期間使った結果
として生まれることがあります。
BISTでも、統合マスタを作ることで問題が見えた
今回の橋梁点検ExcelのPoCでは、複数のExcelを読み込み、
橋梁ごとの情報を一つの統合マスタへ整理する設計を取りました。
ここで重要なのは、
元のExcelをそのまま横に並べただけではない
という点です。
橋梁基本情報。
径間情報。
部材別の評価。
点検結果。
一覧表へ出力する情報。
といった内容を、機械処理しやすい形へ一度整理します。
この統合マスタを作る過程で、
「この項目は何を意味するのか」
「この評価はどこから取得するのか」
「同じ変状をどう表記するのか」
を一つずつ決める必要がありました。
つまり、統合マスタは単なる保存先ではありません。
元帳票に埋もれていたデータ仕様を明文化する場所
でもあります。
ここまでやると、属人化の正体が見えやすくなります。
「担当者の判断」を項目へ分解してみる
属人化を減らすには、
担当者が頭の中でやっていることを観察して、
可能な範囲で項目へ分解します。
たとえば、
「この橋の支承に腐食があって、評価はC。前年度より進行している」
という情報があるとします。
これを一つの文章で保存すると、後から集計しにくい。
そこで、
- 橋梁ID
- 径間
- 部材
- 変状
- 評価
- 前年度比較
- コメント
に分けます。
こうすれば、
腐食がある橋だけ抽出する。
C評価だけ一覧化する。
前年度より悪化したものを探す。
といった処理が容易になります。
この考え方は橋梁点検に限りません。
建設業務では、
「一つの備考欄に全部書く」
運用がかなりあります。
しかしDXでは、
後で使いたい情報ほど、先に項目として分けておく
ことが重要です。
すべてを正規化すればいいわけでもない
ただし、ここで逆方向へ振り切るのも危険です。
何でも選択式にする。
自由記述を禁止する。
すべてコード化する。
例外を認めない。
こうすると、現場の使い勝手が悪くなる場合があります。
現実の業務には、どうしても想定外があります。
特に点検や維持管理では、
定型項目だけでは表現しきれない状況があります。
そのため、
構造化すべき情報と、自由記述として残す情報を分ける
ことが重要です。
たとえば、
部材。
変状。
評価。
位置。
数量。
のように、後から検索・集計したい情報は構造化する。
一方、
特殊事情。
補足説明。
現地での気付き。
などは自由記述として残す。
こうした役割分担です。
自由記述が悪いのではありません。
問題は、
集計に必要な情報まで自由記述に埋め込まれていること
です。
正規化すると「転記」より先のDXが可能になる
データが正規化されると、単なる転記自動化を超えた処理が可能になります。
たとえば、
複数橋梁の評価を比較する。
年度ごとの差分を見る。
特定部材の変状だけ抽出する。
補修対象候補を絞る。
GISや台帳と紐付ける。
別の帳票へ再出力する。
といった処理です。
逆に、データが自由記述に埋まったままだと、
毎回元Excelを開いて人間が読む必要があります。
つまり、
正規化は自動化のためだけではなく、データを再利用できる状態にするための前処理
でもあります。
ここが建設DXではかなり重要です。
Excelを別のシステムへ置き換えても、
入力項目や意味の定義が曖昧なままなら、
属人化を別の場所へ移しただけになる可能性があります。
SaaSへ移せば属人化が消えるとは限らない
DXでは、
「Excelをやめれば属人化が解消する」
と考えられることがあります。
しかし、これは必ずしもそうではありません。
SaaSへ入力していても、
担当者ごとに別の表現を使う。
備考欄へ重要情報を書き込む。
正式項目が不足していてコメントで補う。
という運用なら、意味の属人化は残ります。
システムが新しくても、
データ設計が曖昧なら、同じ問題は再発します。
逆にExcelでも、
入力項目。
コード体系。
命名規則。
必須項目。
例外処理。
が明確なら、かなり機械処理しやすくなります。
つまり、
ExcelかSaaSか
だけで属人化を判断するのは少し乱暴です。
本当に見るべきなのは、
データの意味が共有されているか
です。
建設DXで最初に確認したいこと
既存Excelを自動化するとき、いきなりコードを書く前に確認したいことがあります。
まず、
同じ項目は毎回同じ場所にあるか。
次に、
同じ意味は毎回同じ言葉で記録されているか。
さらに、
一覧化や集計に必要な情報が自由記述へ埋まっていないか。
そして、
担当者が頭の中で補っている判断は何か。
ここを確認します。
簡単に言えば、
セルを調べる前に、意味を調べる
ということです。
どのセルから読むかは後で決められます。
しかし、
何を「正式な値」とみなすのか
が決まっていなければ、プログラムを書いても安定しません。
属人化をなくすのではなく、境界を見えるようにする
実務では、完全な脱属人化は難しい場合があります。
専門技術者の判断。
現場経験。
過去経緯。
発注者との調整。
こうしたものまで完全にルール化するのは現実的ではありません。
だから、
「属人化をゼロにする」
よりも、
どこがデータで、どこが専門家判断なのかを明確にする
方が重要です。
ルール化できるところはデータへ落とす。
標準化できる名称は統一する。
集計したい情報は項目化する。
例外判断は人間へ残す。
この境界が見えれば、自動化の設計も安定します。
まとめ
建設DXでExcel帳票を自動化すると、
属人化の正体が見えてきます。
それは必ずしも、
特定の人しかExcelを操作できない
という話だけではありません。
より深い問題は、
同じ意味の情報が、同じ形で記録されていないこと
です。
セル位置が違う。
名称が違う。
入力場所が違う。
自由記述へ埋まっている。
人間が文脈から補完している。
この状態では、システム化しても属人化は残ります。
だから帳票DXでは、
まずデータを見ます。
何を入力しているのか。
どの情報を後から使いたいのか。
同じ意味をどう統一するのか。
どこまで構造化し、どこから自由記述へ残すのか。
こうした整理が必要です。
自動化で本当に重要なのは、
Excelを高速で読むことだけではありません。
人間の頭の中にあった「意味のルール」を、どこまでデータ仕様として外へ出せるか。
その作業こそが、帳票DXにおけるデータ正規化の本質だと思います。
ダウンロード
維持DXでは、国交省様式を対象とした橋梁点検支援ツールを無料・機能制限版として公開しています。
実際の処理イメージを確認したい方は、以下のフォームからお申し込みください。
フォーム送信後に、ダウンロード案内をお送りします。
ご注意
ダウンロードしたExcelでマクロが実行できない場合は、
右クリック → プロパティ →「許可する」 をチェック後、再度開いてください。Windowsのセキュリティ機能により、初回実行時にマクロがブロックされる場合があります。

