Excel(スプレッドシート)の限界
「脱Excel(スプレッドシート)!」ってよく聞きますが、Excel(スプレッドシート)の本質的な限界・欠点って何なのでしょう?データベース(RDB)を持つシステムと比較した限界について整理します。
限界
関連(リレーション)が管理できない
Excel(スプレッドシート)では、複数の関連する情報(例えば従業員と部署情報)を紐づけて一元管理することは困難です。対してデータベースでは、関連情報を効率的に管理し、必要なデータを素早く参照できます。
なお、データベースでも内部的にキー項目を介して複数のテーブルをたどって情報を集めているのは同じなので、これはデータ構造の問題というよりは、Excel(スプレッドシート)のUI(フロント)の限界ともいえます。
権限制御(セキュリティ)
Excel(スプレッドシート)では、オンラインストレージの機能を用いてファイル単位での権限制御を行うことは可能です。しかし、より詳細な制御、行単位や列単位での権限制御は困難です。
行単位や列単位での権限制御ができないと、次のようなことができません。
権限の移譲や分離が困難
次のような細かい権限設定ができないと、管理者に運用負荷が集中し、効率性やセキュリティの面で問題が生じる可能性があります。
・一般従業員は自分のレコードが編集可能
・システム部の委託者は任意のレコードの編集が可能
・システム部の正社員にはレコードの削除が可能
ガバナンスがかけづらい
誰でも、簡単に使えるのがExcel(スプレッドシート)の良いところですが、その手軽さがゆえに次のような問題が発生します。
情報の重複管理
Excelファイルは簡単に複製できるため、同じデータが複数の場所に存在する「重複管理」が発生しやすいです。これにより、データの整合性が損なわれ、どのファイルが最新であるかの判断が難しくなります。
サブ台帳の乱立
各部署や個人が自由にファイルを作成できるため、元のマスターデータから派生した多数のサブ台帳が生まれがちです。これらは時間と共に独自の進化を遂げ(ガラパゴス進化)、組織全体でのデータの統一性や透明性を損ねる原因になります。
一般的なドキュメントや比較的単純なデータ集計にはExcelが便利ですが、業務上重要なマスターや台帳、特に複数部署間で共有されるべき組織的なデータは、データベースで管理されるべきです。
データの多重管理が発生
特定の情報を限定したグループにのみ表示したい場合、情報を絞り込んだ「閲覧用」のスプレッドシートを別途作成する必要があります。これは、データの一元管理を妨げ、情報の一貫性を損なうと同時に、管理の複雑さを増加させます。データベースを持つシステムでは、単一のデータソースから様々な表示や権限設定を行いながらユーザに情報を提供することができます。
ビジネスロジックを組み込みづらい
Excel(スプレッドシート)は、セルに入力できる値の選択肢の制御や、セルに値が入力されたときに関連する他のセルに自動で値を入れるといったデータ入力ルールの設定や簡単な自動計算が可能です。
しかし、特定の条件下での項目の編集可否の制御やある項目の値が変更された際に関連する別のマスタの値を更新するといったより複雑なビジネスロジックを組み込む場合、マクロやGoogle App Script(GAS)のようなプログラミングが必要になります。これらを実装するために書かれたコードは、属人化し、適切な文書化や管理が行われずに"シャドーコード"となることがよくあります。このようなコードは、時間が経つにつれて理解や管理が難しくなり、エラーやセキュリティリスクを引き起こす原因にもなります。
膨大なデータを管理できない、膨大でなくてもデータ量に比例して重くなる
Excel(スプレッドシート)は膨大なデータの管理には適しておらず、通常行数が増えるとパフォーマンス低下が顕著になります。
一方で、データベースは膨大なデータを効率的に扱えるように設計されています。さらに、データベースは表形式だけでなく、様々な形式でデータを抽出・表示しやすくなっています。
実は限界ではない点
ネットで調べると次の限界・欠点を挙げている人もいますが、Excel(スプレッドシート)の機能改善によって限界ではなくなっています。
変更履歴と改ざん防止
Excel(スプレッドシート)でもセルレベルでの変更履歴が追跡できるようになっているため、変更履歴を確認したり、復元するといったことが可能です。
分析性
Excel(スプレッドシート)も分析機能を大幅に強化しています。特にExcelはPower Pivot、Power Queryなどの高度な分析ツールを搭載していますし、CSVやExcelをChatGPTに分析させるといったことも可能になっているため、データの形式(表形式かデータベース形式か)は分析においてはあまり問題なくなっているように思います。
強いて言うと、膨大なデータを扱う場合は、やはりデータベースに軍配が上がるでしょう。
同時編集
クラウドベースのExcel(スプレッドシート)では複数のユーザが同じファイルをリアルタイムで編集できるようになっています。恐らく20代以下の世代は、そもそもExcelのソフトウェア版の存在すら知らない人も少なくないのではないでしょうか。
以上です。
この記事が気に入ったらサポートをしてみませんか?