業務改善と標準化を同時に実現:MS 365業務システム開発

業務システムでエクセルかAccessどちらを使うか?またエクセルの重くて遅いの解消法

    
業務システムはエクセルかアクセスどちらを使うか?またエクセルの重くて遅いの解消法
\ この記事を共有 /
業務システムでエクセルかAccessどちらを使うか?またエクセルの重くて...

この記事はチームで使う業務システムを構築する上でのエクセルとAccessの違いについてと、そして業務システムでエクセルが重くて遅いと困っているという問題をエクセルとSharePointの連携が解決策になる事を書いています。

(動画時間:5:57)

エクセルが重くて遅くなる「エクセル特有の事情」とは?

こんにちは、リーンシグマ、ブラックベルトのマイク根上です。
業務改善コンサルをしています。

最近の僕の動画でエクセルと
SharePointの連携でダッシュボードを
作る提案をしています。
⇒「優れたダッシュボードの三つの条件。僕が作った経営ダッシュボードをお見せします」

MS 365によるシステム概念図 ランディングページへ

この方法はダッシュボードだけでなく
他の用途にももちろん使えて、
業務システムもこれで作る事が出来ます。

しかし最近のエクセルは使える
データ数も格段に増えたし、
エクセルのマクロだって本来は
他のコンピュータ言語と

変わらない速さに出来るのですが、
配列を使うなどの数ある高速テクニックを
使わないとやはり遅くなります。

また「エクセル特有の事情」で
残念ながら「エクセルは遅い」という
ステレオタイプの人も多いです。

その「エクセル特有の事情」とはまず
「一つのファイルに全ての情報が入っている」事です。

例えば一般的に業務システムは「データ入力機能」、
そのデータをためておく「データ保存機能」、
そして分析などの結果を見る「出力機能」があります。

エクセルだとそれらの全ての
情報が一つのファイルに入っています。

エクセル特有の事情とは?

もちろんエクセルは個人利用が
本来の目的でしたので
この方が便利なのですが、
エクセルの機能が拡張されるにつれて
業務システム的に使われる事が
多くなってきています。

しかし、最初の頃は問題が無くても
使っていくうちに入力されるデータ量
が増えてきて
ファイルサイズが拡大し、
速度が遅くなり不安定になってしまうのです。

エクセルの重くて遅いの解決策

もちろん無駄な数式や古いデータを
削除していく事でこれは少し改善され
ますが根本解決ではないです。

その為には先ほどの「入力機能」、
「データ保存機能」、「出力機能」のうち
一番容量を取る「データ保存機能」
つまりデータベースを
ファイルの外に
持つ事が根本解決になります。

複数のエクセルファイルを使う事も
出来ますが、不安定さは残ったままだし
信頼性は高くはないです。

そこでSharePoint Onlineを
データベースとして使うのです。

もしすでにMicrosoft 365をお使いであれば
追加のライセンス料なしで使えるし、
Microsoft 365の様々な機能で
情報の一元化や情報共有が
簡単に出来て他の多くの業務改善も
一緒に出来る様になるのです。

クラウドですのでPCがWIFIに繋がっていれば
ユーザーの場所を問いません。
エクセルでも複数の人が同時に
作業をすることも出来ます。

PowerAppsでアプリを作れば
今まで紙とペンでやっていた業務も
改善したり、
その情報を二次利用
する事も可能になります。

⇒「PowerAppsでアプリを作ってみる。業務改善イノベーションを起こそう!」

MS Accessとエクセルとの比較

もう一つの選択肢はマイクロソフトの
Accessをデータベースとして使う事です。
エクセルと併用してデータベース機能を
Accessでやる事は実はよく行われます。

この場合はAccessのライセンス料が
追加で掛かりますし、Accessファイルを
インストールするPCをどこかに
置かなければなりません。

ですが、僕が思うにデータベースとして
Accessの方が
エクセルより優れていると
思う部分が3つあります。

MS Accessではデータを安全に管理する仕組みがある。

Accessの本来の目的がデータベースですから
「データを完全に管理する仕組み」
が最初から備わっています。

先ほど言いました「入力機能」、「データ保存機能」
そして「出力機能」が最初から分かれていて、
ユーザーがデータの値や表の型式を
勝手に書き変えたり出来ないので

データはエクセルより数段安全ですし、
Accessなら同時入力も出来ます。

しかし、これに関してはエクセルとSharePoint
の連携でも同じ状況を実現出来ます。
逆にAccessではこの目的のために多くの
制御があり
ユーザーの融通があまり効かず、
小さい変更も自分で出来ないです。

MS Accessではデータベース言語、SQLが全ての部分で使える。

二つ目のAccessの優位性は
AccessではSQLが全ての部分で使えます。
SQLはデータベースに特化した
コンピュータ言語でデータの集計や
加工が簡単にしかも高速に行えます。
⇒「エクセルとSharePointの連携の仕方、概要(ADOとSQLの超簡単な説明も)」

エクセルの似た機能はピボットテーブル
ですがSQLの方が高性能です。

朗報はエクセルとSharePointの連携でも
このSQLが使える事です。

これを初めて僕がエクセルで
実現出来た時は本当に感動しました。
お使いのインターネットの速度にも
よりますが、クラウドからデータを
もってきているにも関わらず
あっという間の速さでした。

MS Accessなら複数のテーブルを簡単に結合をすることが出来る。

三つ目のAccessの優位性は
SQLを使って複数の表、テーブルとも
呼びますが、簡単に結合出来るのです。

結合とは複数のテーブルをあたかも
一つのテーブルとして集計が出来る
便利な機能なのですが、
エクセルとSharePointの連携では
残念ながらこれは使えません。

しかし、ここでは細かい説明はしませんが、
エクセルでは配列とVBAを使えば
高速で同じ結果を得られます。

この様にエクセルとSharePointの連携で
Accessと比較したエクセルの問題点を
全てクリアー出来るのです。

更にユーザーは使い慣れているエクセルの
強いグラフ機能や印刷機能を
使う事も出来るのです。

中小企業の業務システムは
この手法がベストだと僕は思います。
実際に今までAccessの業務システム
で運営していた会社が
使い勝手やメンテナンスが自分達で
出来ない理由で
エクセルに移行する
会社も少なくありません。

今のクラウドの時代だから実現が
簡単に出来るこのエクセルとSharePointの連携を
ちょっと研究される事をお勧めします。

<< エクセルとSharePointの連携シリーズ >>