Excelのデータは「いつでもDBに移せる形」で持つ ── データの文法という考え方

Excelのままでいい、ただし持ち方は変える

以前の記事で、中小製造業のデータ加工業務はExcelでも十分に回せると書いた。その考えは変わっていない。今すぐデータベースを導入する必要はないし、Excelで業務が回っているならそれでいい。

ただし一つだけ条件がある。Excelに入っているデータが、いつでもデータベースに移せる状態になっていること

今はExcelで運用するとしても、事業が成長して件数が増えたり、内製ツールを作る段階に進んだりすれば、データベースへの移行が必要になる場面は来る。そのとき、Excelのデータがきれいに整っていれば移行は簡単にできる。しかしぐちゃぐちゃな状態で蓄積されていたら、まずデータの整理から始めることになる。数年分のデータを手作業で直す作業は、想像以上に重い。

だから今のうちに、データの持ち方だけは整えておく。これはシステム導入の話ではなく、Excelの使い方の話になる。

そしてこの「持ち方」は、データベースへの移行だけでなく、Excel VBAでデータを操作する場面でもそのまま効いてくる。以前の記事でExcel VBAによる業務改善について書いたが、VBAでデータを読み込んで集計したり、帳票を自動生成したりするには、データが規則的に並んでいることが前提になる。データの持ち方が整っていれば、VBAでの自動化もすぐに始められる。持ち方が崩れていれば、VBAを書く前にデータの整形処理が必要になり、コードが複雑になって保守できなくなる。

データの「文法」がある

日本語を話すのに文法を意識しなくても通じる。しかし文章として書き残すなら、文法が要る。主語と述語がなければ読み返したときに意味がわからなくなる。

データも同じで、その場で見て理解できればいいだけなら、どんな書き方でも構わない。しかしデータとして蓄積し、後から集計したり、別のツールで読み込んだり、データベースに移したりするなら、守るべきルールがある。

ここではそれを「データの文法」と呼ぶことにする。IT経験者にとっては当たり前のことばかりだが、ITの経験がない人がExcelで業務データを管理している現場では、これらが守られていないケースが非常に多い。

ルール1:1つのセルに値は1つだけ

悪い例:

数量
3個(うち1個は予備)
5個 ※納品済み

良い例:

数量 備考
3 うち1個は予備
5 納品済み

1つのセルに複数の情報を詰め込むと、集計ができなくなる。「数量の合計を出したい」と思っても、「3個(うち1個は予備)」というセルは数値として計算できない。

値と補足情報は別のセルに分ける。これだけで、データとしての使い道がまったく変わる。

ルール2:数字のセルには数字だけ、日付のセルには日付だけ

悪い例:

納期 単価
3月中旬 約1,200円
未定 応相談

良い例:

納期 納期備考 単価 単価備考
2025-03-15 中旬目安 1200
未定 応相談

数字の列に「未定」や「約」が入ると、その列全体が文字列になる。日付の列に「3月中旬」と書くと、並べ替えも期間の計算もできなくなる。

確定していない情報は備考列に逃がして、データの列は型を統一する。データベースでは「この列は数値」「この列は日付」と型が決まっている。Excelでも同じ考え方で運用しておけば、将来の移行がそのままできる。

ルール3:名称は表記を統一し、選択式にする

悪い例:

得意先
株式会社山田製作所
(株)山田製作所
山田製作所
ヤマダ製作所

これは人間が見れば全部同じ会社だとわかる。しかしデータとしては4つの別々の得意先になる。「山田製作所の受注合計」を出そうとしても、表記が揺れているせいで正しい数字が出ない。

対策は二つ。

  • 得意先マスタを別シートに作り、入力はドロップダウンリストで選択式にする。 手入力をさせない
  • コードを振る。 得意先コード「Y001」のように、名称とは別に一意のコードを持たせる。名称が変わってもコードで紐づけられる

わずかな表記ゆれでも、データとしては致命的になる。自由入力をやめて選択式にするだけで、この問題はほぼ消える。

ルール4:データは上から下に、1行1件で登録する

悪い例:

1月 2月 3月
A製品 10 15 12
B製品 8 20 5

人間が見る分にはわかりやすい。しかしこの形式は、月が増えるたびに列が増えていく。1年で12列、3年で36列。集計も面倒になるし、データベースにはこの形では入らない。

良い例:

製品 年月 数量
A製品 2025-01 10
A製品 2025-02 15
A製品 2025-03 12
B製品 2025-01 8
B製品 2025-02 20
B製品 2025-03 5

1行に1件のデータを、上から下に積んでいく。行が増えるだけで列は増えない。この形式なら、フィルタで特定の製品や期間を絞り込めるし、ピボットテーブルで自由に集計できる。データベースに移すときもそのまま入る。

見た目は冗長に感じるかもしれないが、データとしての使い勝手はこちらのほうが圧倒的に高い。見やすさが必要なら、このデータを元にピボットテーブルや別シートで見やすい表を作ればいい。データの持ち方と見せ方は分ける

ルール5:色や罫線で状態を管理しない

悪い例:

赤く塗ったセルは「未完了」、黄色は「保留」、緑は「完了」——現場でよく見るパターンだが、これは人間にしか読めない。プログラムやデータベースは色を判定できない。

良い例:

案件名 ステータス
A案件 未完了
B案件 保留
C案件 完了

状態は文字データとして列に持つ。こうすれば「未完了の件数」をCOUNTIF関数で出せるし、フィルタで絞り込める。色で管理していると、目で数えるしかない。

色をまったく使うなという話ではない。ステータス列の値に応じて条件付き書式で色をつければ、見た目のわかりやすさとデータとしての正しさを両立できる。色は「表示」であって「データ」ではない。この区別が重要になる。

ルール6:同じ構造のシートやブックは、行と列を必ず揃える

同じフォーマットのExcelファイルを月ごとや拠点ごとに作ることがある。月次の実績表、拠点別の在庫表、案件ごとの見積書など。

このとき、行と列の構造が完全に同じであることが絶対条件になる。

たとえばA拠点の在庫表は「A列が品名、B列が数量」なのに、B拠点では「A列が品番、B列が品名、C列が数量」になっている——こうなると、VBAで複数ファイルをまとめて処理することができなくなる。人間はレイアウトの違いを見て判断できるが、プログラムは「B列の数字を合計する」としか書けない。列がずれていれば、間違った数字を集計するか、エラーで止まる。

同じ構造のファイルを複数作る場合は、テンプレートを一つ決めて、必ずそこから複製する。列の追加や順序の変更は、全ファイルに対して同時に行う。1つでも構造が違うファイルが混ざると、自動処理の前提が崩れる

なぜこのルールが必要なのか

これらのルールは、一言でまとめるとデータベースに入る形でデータを持つということになる。

データベースのテーブルは、列ごとに型が決まっていて、1行が1件のレコードで、表記は統一されている。Excelをこの形式に合わせておけば、将来データベースに移行するときにほぼそのまま移せる。

逆に、このルールを守っていないExcelは、見た目はきれいでも「人間が読むためだけの書類」であり、データとしては再利用できない。集計するたびに手作業が必要になり、別のツールに取り込もうとすると整形作業が発生する。

以前の記事で見積データの再利用について書いたが、再利用できるかどうかは、データの持ち方で決まる。持ち方が正しければ、Excelのままでも十分に再利用できるし、必要になればデータベースにも移せる。持ち方が間違っていれば、Excelの中でさえ再利用できない。

崩れたデータは、現実的には直せない

「後からデータクレンジングすればいい」という話を聞くことがある。しかし実際にやってみると、これは相当に厳しい作業になる。

自分の経験でも、表記ゆれの修正を正規表現で一括処理しようとしたことがある。「株式会社」「(株)」「㈱」を統一する程度なら対応できる。しかし現実のデータはそう単純ではない。略称、旧社名、担当者が独自に使っていた通称——こうしたものが混在していると、プログラムでは判定しきれない。結局、目視で一件ずつ確認することになるが、数千件のデータを目で見て判断すれば、そこでもまた判断がゆれる。直したはずのデータが、別の形でまた不整合を起こす。

数年分のデータが崩れた状態で蓄積されてしまうと、現実的には再利用不可能になる。データクレンジングにかかる工数が、新しくデータを取り直す工数を超えてしまう。

だからこそ、最初の段階でデータの持ち方を正しくしておくことが決定的に重要になる。後から直すコストは、最初に正しく入れるコストとは比較にならない。

データの文法は、DXの土台になる

このシリーズでは、個別原価の可視化、負荷の見える化、納期回答の仕組み化といった管理精度の向上を繰り返し取り上げてきた。これらはすべて、元になるデータがきれいに整っていることが前提になっている。

管理精度を上げるための高度なツールを導入する前に、まずExcelのデータの持ち方を見直す。1セル1値、型の統一、名称の統一と選択式、上から下に1行1件、色ではなく文字で状態を持つ、同じ構造のファイルは行列を揃える。

どれもExcelの機能の範囲内でできることであり、新しいツールもシステムも要らない。しかしこれらを守るだけで、Excelのデータは「書類」から「資産」に変わる。VBAで自動化する土台にもなるし、将来どんなツールやデータベースを導入することになっても、このデータはそのまま使える。

今すぐデータベースに移す必要はない。ただ、いつでも移せる状態にしておく。それが、中小製造業のDXにおける最も地味で、最も確実な一歩になる。