中小製造業のExcelデータ、帳票型でも「行列が揃っていれば」救える

帳票型のデータは、どこにでもある

以前の記事で、Excelのデータは「いつでもDBに移せる形」で持つべきだと書いた。1行1件で上から下に積んでいく、いわゆる縦持ちの形式。データベースに入る形で持っておけば、集計もVBAでの自動化もスムーズにできる。

この考え方自体は変わっていない。しかし現実の中小製造業を見ると、この形式でデータを持っている会社はほとんどない。

圧倒的に多いのは、帳票型のデータ。月別にシートが分かれている実績表、日付ごとの日報シート、案件別のブック。横軸に日付や月が並び、縦軸に品目や工程が並ぶクロス集計のレイアウト。Excelが存在する限り、この形式はなくならないだろう。

帳票型が選ばれる理由

帳票型がこれほど広く使われているのには理由がある。

一覧性が高い。 月の実績を一枚のシートで見渡せる。どの品目がどの日に何個出たのかが、目で追える。縦持ちのデータベース形式だと、同じ情報を見るためにフィルタやピボットテーブルを使う必要がある。

そのまま印刷できる。 現場に紙で貼り出す文化がある製造業では、これは大きい。縦持ちのデータを印刷しても、そのままでは使い物にならない。

入力がしやすい。 今日の実績を今日のセルに入れるだけ。行を追加する必要もないし、日付を毎回入力する必要もない。

つまり帳票型は、人間が日常的にデータを入力し、確認し、共有するための形式としては合理的。以前の記事で否定したかったのはこの形式そのものではなく、これを「データの唯一の保管場所」にしてしまうことだった。

救えるかどうかの分かれ目は「行列の固定」

帳票型のデータが社内に何年分も蓄積されている。この現実に対して、自分の考えはこうなる。

行と列のレイアウトが固定されていれば、データは救える。

たとえば月次の生産実績表。毎月同じフォーマットで、A列が品目名、B列以降が日付ごとの数量。この形式が12ヶ月×数年分あったとしても、VBAやスクリプトで一括して縦持ちに変換できる。セルの位置が決まっているなら、プログラムは確実にデータを拾える。

レイアウトが固定されているなら、帳票型から縦持ちへの変換は技術的には難しくない。1シートから読み取るロジックを一度書けば、あとは全シートに同じ処理を回すだけになる。

一方、自由配置のシートは救えない。

セル結合が多用され、データの位置がシートごとに違い、余白や注釈が任意の場所に入っている。こうなるとプログラムで読み取る前提が成り立たない。人間が目で見れば情報はわかるが、機械的にデータを拾うことは不可能に近い。

この線引きは明確で、レイアウトが固定されているか、されていないか。これだけで、過去データが資産になるか、ただのアーカイブで終わるかが決まる。

今すぐやるべきことは一つ

過去のデータを今すぐ全部変換する必要はない。以前の記事でも書いたが、崩れたデータを遡って直す作業は現実的ではないことが多い。

しかし、これだけは今すぐやったほうがいい。

帳票型シートのレイアウトを固定する。

具体的には:

  • 行と列の構造を統一する。 今月のシートと来月のシートで、列の並びや行の数が変わらないようにする
  • セル結合を使わない。 結合セルはプログラムから見ると位置がずれる原因になる。見た目を揃えたいなら「選択範囲内で中央」を使う
  • データ領域と見た目の装飾を分ける。 タイトルや罫線、色は好きにしていい。ただしデータが入るセルの位置は動かさない
  • テンプレートから複製する。 新しいシートやブックを作るとき、毎回ゼロから作らず、テンプレートをコピーする

帳票型をやめる必要はない。帳票型のまま、レイアウトだけ揃える。これだけで、将来データを吸い出したくなったときの難易度が劇的に下がる。

変換は後からでいい

レイアウトが固定された帳票型データがあれば、必要になったタイミングで縦持ちに変換できる。

たとえば「過去2年分の生産実績を製品別に集計したい」となったとき、24枚の月次シートから品目と数量をVBAで読み取って、1行1件のデータシートに出力する。レイアウトが固定されていれば、この変換処理は数十行のコードで書ける。

全部を一度に変換する必要もない。使うデータだけ、使うタイミングで変換すればいい。レイアウトさえ揃っていれば、「いつでも変換できる」という状態を維持できる。これは以前の記事で書いた「いつでもDBに移せる形で持つ」のもう一つの形と言える。理想的な縦持ちではないが、変換可能な状態を保っているという点で、データの再利用性は確保されている。

自由配置のデータにも手段はゼロではない

レイアウトが崩れたデータは救えないと書いたが、最近はAIによるOCR・データ抽出の精度が上がっている。ExcelやPDFの帳票をAIに読ませて、テーブル形式に変換するといった手段は選択肢として存在する。

ただし、VBAで固定レイアウトを読み取る方法と比べると、確実性が違う。VBAはセルの位置を指定して読むだけだから、100回やれば100回同じ結果が返る。AIによる抽出は精度が高くなってきているとはいえ、読み取りミスや解釈の揺れが起きる可能性がある。件数が多いほど、目視での確認コストが積み上がる。

「どうしても過去データを救いたいが、レイアウトが揃っていない」という場面では検討する価値はある。しかし、これから作るデータのレイアウトを揃えるほうが、はるかに確実でコストも低い。AIは最後の手段であって、最初の戦略にはならない。

帳票型を否定しない、自由配置を否定する

帳票型のExcelは、現場の運用としては合理的な選択肢。そのまま使い続けて構わない。

問題は帳票型かどうかではなく、データの位置が決まっているかどうか。行列が固定されていれば、いつでもプログラムでデータを拾える。自由配置になっていると、そのデータは人間が目で見ることしかできない。

今すぐデータの持ち方を変える必要はない。ただ、レイアウトだけは揃えておく。帳票型のシートをテンプレートから複製するだけでいい。この小さな習慣が、将来データを活用したくなったときに、選択肢を残してくれる。


このシリーズの他の記事:

シリーズ記事一覧・著者への相談はこちら →