取り敢えずExcelで良いのか ? - 業務見直しのススメ その2


前回の「IT系情報」として、「取り敢えずExcelでよいのか ?」の前編を紹介しました。


★過去ブログ:取り敢えずExcelでよいのか ? その1


このブログでは、下記のような項目で、Excelの歴史から始めて、マクロとVBAの相違、本当の意味でのExcelの功罪と言うような内容を紹介しました。


Excelの歴史
●マクロをVBAの違い
Excelの功罪


その中でも、「Excelの功罪」として、Excel職人の誕生と消滅、さらにExcelの非互換を紹介しました。


Excel自体は、別に、Microsoft社を擁護するつもりは毛頭ありませんが、非常に安価で、使い方さえ間違わなければ、高機能なツールだと思います。


まあ、現時点の最新バージョンであるExcel2016は、「Windows Update」が行われる度にパフォーマンスが低下するので、非常にイラつきますが・・・


普通に、表計算やビジネス帳票を作成する分には、余りストレスを感じません。


しかし、VBA(Visual Basic for Applications)でプログラムを組み込んだシステムを構築した後、プログラムを作成した本人が現場から居なくなってしまったり、あるいはOfficeをバージョンアップする度に、バージョン間の非互換で、プログラムが動かなってしまったりするのは困ったものです。

----------------------------------------------------------------------------------------------

さらに、日本国内で、2003年頃、非常に流行したExcelの使い方に、「Excel方眼紙」と言う使い方があります。


Excel方眼紙」の作り方や使い方に関しては、Web上に沢山の紹介サイトがあるので、本ブログには掲載しませんが、このような使い方は、余りお勧め出来ません。


とは言いつつ、私も、個人的には、契約関連帳票や開発スケジュールを作る時には、「方眼紙」の様に、セルを細かくして、必要に応じて連結しています。


「それじゃ、何で批判するんだよ !!」と言うことですが、「Excel方眼紙」の様な使い方は、個人で使用する分には、何も問題はないし、「方眼紙」に慣れている人にとっては、非常に便利な使い方だと思います。


問題なのは、、これを社内テンプレートとして、広範囲に展開することだと思います。こうなると、他の人ではメンテナンス出来ず、逆に作業効率を下げてしまう可能性があります。

----------------------------------------------------------------------------------------------

今回は、この「Excel方眼紙」のような問題を含めて、次の内容を紹介したいと思います。


Excel不要論の正体
Excelの問題
●今後のExcel


それでは今回も宜しくお願いします。

Excel不要論の正体


前回も紹介しましたが、世の中のサイトを、「脱Excel」と言うキーワードで検索すると、数多くの検索結果が表示されます。その数、約38万件・・・


しかし、その検索結果を、さらに「BI」と言うキーワードで検索すると、約3割近くが「BI(Business Intelligence)ツール」の導入を進めるサイトになっています。


そして、さらに、その他の検索結果を見てみると、だいたいが、次のような「Excel代替ツール」を勧めるサイトになっています。


・EDIツール :電子データ交換ツール → Electronic Data Interchange
・ETLツール :データ抽出/変換/ロードツール → Extract Transform Load
EAIツール :アプリケーションの統合連携ツール → Enterprise Application Integration


これらの「英語3文字ツール」を個々に紹介していたらキリがないのですが、「Excel代替製品」として以前から存在する下記のようなツールが存在します。
FileMaker、kintone、Googleスプレッド


つまり、この世の中で「脱Excel」を勧めている人間は、別のソフトウェアを売りたいがために、流行り文句で「脱Excel」と言っているだけなのだと思います。


結局、「Excelを止めてXXXXXXXX」と言っているだけの話で、この「XXXXXXXX」の部分が、「FileMaker」であったり、「kintone」であったりするだけの話なのだと思います。


そして、「脱Excel」と言う話に乗せられて、別のツールを使ったとしても、結局は、その昔、Excelを使っていた時と同じような問題が発生します。


・パフォーマンスが悪い
・処理が自動化出来ない
・ファイル・フォーマットが自由に変えられない
・自動化したが誰も保守が出来なくなってしまった・・・・等


そもそも、ソフトウェアの費用が、Excelと比較するとダントツに高額ですし、詰まる所、どんなツールを使ったとしても、それなりの問題が発生するのは、Excelと同じなのです。

----------------------------------------------------------------------------------------------

FileMaker」や「kintone」と異なるのが、上記に出てきたEDI、ETL、EAIとよばれる「英語3文字ツール」群です。


これらのツールを簡単に説明すれば、「データ変換&システム連携」ツールです。Excelとは、全く別物のソフトウェアになります。


企業内の業務は、通常、単独で完結する業務は少なく、ほとんどの業務が、その後処理となる、別の業務と繋がっています。


例えば、営業社員が、製品を販売するケース1つ取っても、下図のような様々な業務が関連して処理される事になります。


このような業務の連携に関して、「ERP(Enterprise Resource Planning)ツール」を導入している場合は、販売管理機能において、販売した製品の数さえ入力すれば、後は、自動で連携処理されるようになります。


しかし、この「ERPツール」は、非常に高額なソフトウェアで、安くても数百万円、上は数億円までの費用が掛かるシステムなので、一般の企業が使うのは、ちょっと難しいと思います。


このため、通常、各業務はバラバラに繋がっており、それぞれ別のシステムが処理を行う事になるのですが・・・各業務とも帳票や書類/データのフォーマットもバラバラになってしまっています。


これは、各業務で使うシステムが、バラバラに作成されて来た事に原因があります。


通常、IT系システムは、経理業務の効率化から生まれた歴史がありますので、各社とも経理部のシステム化が行われ、後は、その企業毎に、販売管理システムとか、在庫管理システムとかが、順次、必要に応じて構築されて行きます。


そして、これら部署毎に作成する業務システムは、自分の部門の効率化だけを検討し、他の部署のシステムの事など全く気にせずに作成しますので、システム間のインターフェースなどありません。


俗に言う、「部分最適」と言う考え方です。


その後、暫くしてから、お互いのシステムを連携すれば、より社内業務を効率化できる事、つまり「全体最適」に気が付くのですが・・・その時には、もう「後の祭り」、システム間の連携など出来ない状況になってしまっています。

----------------------------------------------------------------------------------------------

このような時に登場するのが、前述の「英語3文字ツール」です。


「英語3文字ツール」は、業務間でフォーマットが統一されていないデータを入力し、後続となる業務システム用にデータを変換し、業務システムを連携する事を目的にしたシステムです。


例えば、上図の例では、Excelで作成された「売上データ」を取り込んで、「業務 X」用のデータを作成し、これを「営業管理システム」等で使用します。


その後、製品売上状況を「在庫管理システム」に引き渡したいと思っても、「売上データ」には余計なデータがあるので、そのままの状態では、データを引き継げないケースが良くあります。


そのような場合、手作業で不要項目を取り除き「在庫管理用データ」を作成するのですが、「英語3文字ツール」があれば、自動で「営業管理システム」用データから、「在庫管理システム」用データを作成してくれます。


さらに、システムの機能によっては、コード変換を行ってくれたり、不足項目を他のデータベース等から取り込んでくれたりと、様々な処理を行ってくれますが・・・この「英語3文字ツール」も、数千万円までとは行かないまでも、数百万円のコストが掛かってしまいます。


つまり、この「英語3文字ツール」で「脱Excel」を行っても、かなり高額な費用も掛かりますし、加えて、この手のパッケージ・ソフトウェアには、年間保守料が掛かります。


例えば、「英語3文字ツール」を、500万円で購入した場合、その翌年からは「年間保守料」として、IT業界の通例として、「年間保守料」は、製品購入価格の15%が決まりですので、約75万円もの費用が、そのソフトウェアを使い続ける限り、払い続ける必要があります。


こうなると、「脱Excel」って、本当に必要なのでしょうか ?

Excelの問題

前章で、「脱Excel」と言う言葉に踊らされた場合の問題点を紹介しました。


「脱Excel」で、数百万円の費用が掛かるのであれば、何も無理して「英語3文字ツール」を購入する必要は無いと思います。


しかし、Excelを使い続ける場合、過去ブログに記載した通り、「Excel職人」の問題が付きまといます。


また、「Excel職人」の問題の他にも、実は、様々な問題があります。


そこで、本章では、これまでに紹介してきた内容を元に、Excel、特に、「Excel/VBA」でシステム(マクロ)を構築した場合のメリット/デメリット等を簡単に紹介したいと思います。


Excelのメリット

(1)プログラミングが比較的簡単

プログラミング言語には、その用途/目的により、本当に様々な言語があり、現在では、数百種類にも及ぶのではないかと言われています。


その中において、他のプログラミング言語と比較すれば、確かに「VBA」は、簡単な言語だと思います。


但し、「簡単」とは言え、物事を論理的に考える事が苦手な人には、難しいとは思いますが・・・

                                                                                                              • -

(2)開発コストも比較的安価

これも、「比較的」と言う言葉が付きますが、他の開発言語は、そもそもプログラミング環境を用意するだけでも費用が掛かる言語もありますし、プログラマーの月額単価も高くなっています。


これは、プログラマーの需要/供給の関係も影響しており、他言語のプログラマーの数が少ないため、月額単価も高額になる傾向があります。


その点、「VBA」に関しては、Excelさえあれば、後は何も必要ありません。今直ぐにでも開発作業を行う事が可能になりますので、作業単価も(比較的)安価になっています。


しかし、いくら「作業単価が安い」とは言え、プログラムは人間が作成していますので、それなりに費用は掛かります。


よく弊社にも、「簡単な仕組みだから、簡単に、安く作れるでしょう !」と言う問合せがきますが・・・それなら、人に頼らず、自分でプログラムを作成してみて下さい。


この様に、最初から、相手を見下した問合せをしてくる企業や人間とは、正直な所、余り付き合いたいとは思いません。

                                                                                                              • -

(3)一度作成すれば、誰でも作業可能

この点は、Excelに限らず、他のプログラミング言語でも同じですが、一度、プログラムを作成し、操作マニュアルや手順書を作成してしまえば、後は、誰でも業務遂行が可能になります。


複雑な業務の場合、このタイミングで、あのフォルダーにある、このファイルを開いて、この項目と、あの項目をコピーして来て・・・等という、複雑な作業手順が必要になります。


Excel/VBA」でプログラムを作成してしまえば、極端な例では、「実行ボタン」をクリックするだけで、業務は終了してしまいます。


このようなメリットは、「属人化の廃止」と言い、ある特定の社員にしか出来ない作業を、誰にでも、アルバイト社員でも、パート社員でも行えるようにする事を意味します。


これにより、正規雇用社員には、もっとコア業務の注力してもらう事が可能になります。

                                                                                                              • -

(4)作業時間の大幅短縮

上記(3)と同様、この点も業務のIT化の最大のメリットになります。


業務量が少ない場合、ある程度の業務スキルがある社員が、毎日、あるいは月数回、数時間作業を行えば、人間が作業を行っても業務は完了します。


それが、業務量、つまりデータ量が増えてくると、今度は、社員1名では足りないので、複数人をアサインして「人海戦術」で、対応するようになります。


しかし、本当に大量データになってしまうと、「人海戦術」でも対応できなくなってしまいます。


このような時にこそ、業務のIT化は必要です。


みんなで、Excelに対して、大量の「コピペ」をしていた作業が、上記同様、「実行ボタン」をクリックするだけで、終了するようになります。

                                                                                                              • -

(5)入力ミス/コピーミスがゼロ(品質向上)

さらに、人間が行う作業には、ミスは付き物です。入力ミス、コピーミス、パンチミス・・・ミスを取り上げたらキリがありません。


しかし、その点に関しても、システム化してしまえば、「ミスゼロ」も可能です。データの品質を向上させるのであれば、可能な限り、人間の介入を減らすのが肝心です。


とは言え、プログラムも人間が作成します。


システム導入当初は、絶対にミス(バグ)は発生します。導入試験を入念に行い、バグを潰してから本番運用を開始して下さい。

                                                                                                              • -

(6)他システムとの連携も比較的簡単

これは、連携するシステムの種類や、相手のシステムの作り方に依存します。


単純に、「Excel/VBA」でプログラムを作ったから、どんなシステムとも連携可能、と言う訳には行きません。相手のシステムを、ちゃんと精査した上で、連携の可否を決定する必要があります。


「比較的簡単」と言っているのは、「Excel/VBA」には、予め様々なインターフェースが備わっているので、連携相手に対して、そのインターフェースが使えるのであれば、「比較的連携が簡単」と言うだけの話です。


連携を希望する相手に、該当インターフェースが備わっていなければ、別の手段を検討する必要があります。



ここまで、Excel/VBAによりシステムを作成する事のメリットを記載して来ました。「何か・・・良さげ」と思うかもしれませんが、それは、後述するデメリットを読んでから判断した方が良いかもしれません。

Excelのデメリット

(1)バージョン間の非互換

これは、「Excel/VBA」の問題点として必ず登場する問題点です。


Microsoft社は、かなり以前から、推測するに、「Excel2007」をリリースした頃から、「VBA言語」を亡き者にしようと画策しているように見受けられます。


このため、恐らく、故意だと思い思いますが、Officeのバージョンアップを行う度に、バージョン間において、Excel/VBAの非互換、(故意に)を作り出しています。



故に、今回は、特にExcel/VBAに特化していますが、例えば、Excel2007/VBAで作成したシステムを、Excel2010、Excel2013、あるいはExcel2016で使おうとすると、ほぼ確実に、エラーが発生します。


このエラーを回避するためには、PCにインストールしているExcel環境で、「VBA言語」を用いて、プログラムを修正しなければなりません。


加えて、バージョン間の非互換のみならず、下記環境の違いでもエラーが発生するケースもあります。


・32ビット版/64ビット版の違い
・OSの種類の違い


このため、弊社でExcel/VBAの開発を請け負った時には、稼働環境まで、きちんとヒアリングして、対象となる環境全てで試験を実施した後、納品しています。


たまに、「Windows 7環境で、全てのExcelが動くようにして欲しい。」と言う依頼が来ますが、その場合、下表の通り、16種類の環境を用意して、全て稼働確認試験を行う事になるので、プログラムの作成工数より、試験環境の構築を含め、試験工数の方が多くなってしまうケースもあります。

OSの種類 32/64ビット版 Excel2007 Excel2010 Excel2013 Excel2016
Windows 7 32ビット版 32ビット版 32ビット版 32ビット版 32ビット版
64ビット版 64ビット版 64ビット版 64ビット版
64ビット版 32ビット版 32ビット版 32ビット版 32ビット版
32ビット版 32ビット版 32ビット版 32ビット版
                                                                                                              • -

(2)同時編集(書き込み)不可

また、これもExcelの問題として良く取り上げられる問題です。


Excelは、誰も真剣に考えていないと思いますが、基本的には、あくまでも「個人用」と言うのが大前提です。それにも関わらず、複数人で、1個のExcelファイルに対して更新作業を行おうとする方が沢山います。


そうなると、どういう事が起こるのかと言うと・・・


この画像のように、ロック中のメッセージが出力されます。


メッセージ出力後、ロックが解除されれば良いのですが、誰もアクセスしていないのに、このメッセージが出力され続け、ファイルを更新する事が出来なくなるケースがあります。


ちゃんとPC名を設定しておけば、誰がロックし続けているのかが解りますが、このメッセージの様に使用者が解らないと・・・もうお手上げです。


さらに事態が悪化すると、左の画像の様に、ファイル自体が壊れてしまい、ファイルを開くことさえ出来なくなってしまうケースもあります。


こうなると、もう最悪・・・バックアップから、過去のデータを持ってくるしか対応できないと思います。


Microsoft社では、「Excelのファイル共有は可能」と言っています。確かに、最初は、大丈夫だと思います。


しかし、前述の通り、本来は「個人ユース」が基本なので、「ファイル共有」には無理があります。


もしも、本当に「ファイル共有が可能」なのであれば、何故、「SharePoint」などと言う機能を提供しているのでしょうか ?


SharePoint」は、元々は、「Groove Network」社が開発した「Groove」と言うソフトウェアだったのですが、それをMicrosoft社が買収して「SharePoint」と言う名称に変更したものです。


企業を買収してまで手に入れた「SharePoint」。当初から「ファイル共有」が可能であれば、何も、そこまでしなくても良かったと思えます。全く、意味が解りません。


それでは、Excelのファイル共有に関しては、どこまで対応可能なのか ? 、と言う疑問がありますが、経験的に推測すると、だいたい5人位までは対応出来るのではないかと思われます。


5人を超えると・・・

                                                                                                              • -

(3)データ量の増加に伴い処理速度低下
これも、皆さん、良く知っているExcelのデメリットだと思います。


良く弊社にも、月初はスイスイと動くが、月末になるとファイルさえ開かなくなるので、何とか対応して欲しい、等と言う依頼が来ます。


月初はデータ量が少ないのでスカスカ動くのですが、毎日データを入力し続けて行くと、当然、月末になるにつれデータ量が増えて行くので、Excelのパフォーマンスが低下する現象です。


また、売上データ等を、別シートに数年分保管して、前年度比や前々年度比などを算出しているケースは最悪です。Excelファイルを開くだけでも5分以上掛かるケースもあります。


このケースへの対応は、データをデータベースや他ファイルに移行して管理するしか対応策はありません。


Excel2007以降では、ファイルの拡張子が「xlsx」となっていますが、これは、Excelの内部ファイルを、圧縮率の高いファイルに変更した影響です。


このため、Excel2003以前のxlsファイルを、xlsxファイルに変えるだけでも、少しはファイル容量が減ってはいるのだと思いますが・・・どっちにしろ、データ量が増えれば、Excelのパフォーマンスは段々に低下して行きます。

                                                                                                              • -

(4)ドキュメントを作成しない人が多い
これは、前回も記載しましたが、「Excel/VBA」でプログラムを作る場合の弊害の一つと言われ続けているデメリットです。


社内、あるいは部門内で「Excel/VBA」でプログラムを作る人は、言わば「非公認」の人です。自分の仕事を簡単に終わらせたいがために、勝手にプログラムを作成した人です。


また、情報システム部の社員がプログラムを作るのとは異なり、開発用のドキュメント等は一切作成しません。


この非公認の「Excel職人達」が作成したプログラムの仕様書は、この「Excel職人達の頭の中」にしか存在しません。

----------------------------------------------------------------------------------------------

通常、システムやプログラムを作成する場合、試行錯誤を重ねて、様々な設計書を作成し、システムやプログラムの仕様や仕組みを、ドキュメントとして残します。


これは、システムのメンテナンス性や継続性を高めるための対応です。


プログラムは人間が作成するのですが、プログラムを作成した人が、永遠に、そのプログラムの面倒を見る事は出来ません。


会社員(サラリーマン)は、通常、入社後、1つの部署に永遠に居続ける事はありません。会社の都合により、転勤、転属、転籍等、勤務場所が変わります。


このため、情報システム部に配属されてシステムを作成した社員が、営業部門や総務部門に配置換えになるケースも多々あります。


このような時に、システムに関する設計書等のドキュメントを残しておかないと、次に、そのシステムを担当する事になった社員は、また最初からシステムを分析しなければならないので、該当システムに何か問題が起きても、直ぐに対応する事が出来ません。


システム作成者が、近くに居れば、電話等で連絡を取り、拝み倒して支援してもらう事もできると思いますが、既に退職してしまっていた場合、もう何も対応が取れなくなってしまいます。


また、該当システムに対して、機能を追加したり、仕様を変更したりする時も同様です。


ドキュメントが残されていないと、後で、システムの面倒を見ることになった人は、何も手出しをできなくなってしまいます。

----------------------------------------------------------------------------------------------

その昔、私が、IT業界に入った頃は、ドキュメントが残っていないと言うシステムは、その辺にゴロゴロしていました。


私が入社した会社は、パッケージ・ソフトウェアを開発して販売している会社だったのですが、その大事な商品となるソフトウェアに関しても、ドキュメントが一切ありませんでした。


今思えば、とんでもない、なんて無責任な、そして非常識な会社なのかと思うかもしれませんが、当時は、それが常識とまでは行きませんが、普通の状態でした。


だから、大手企業の情報システムでも、こんな事は「当たり前」、どこに行っても、ドキュメント等は存在しませんでした。


当時の技術者の言い草では「ドキュメントなんか不要だ ! ソースコードを見れば仕様は直ぐに解る !」などと、平気で言っていました。


確かに、ソースコードを分析すれば、そのプログラムの仕組みは解ります。しかし、プログラムを分析するのに、何時間も、何日も掛かります。


お客様や利用者で問題が起きると、お客様は、当然、問題が起きて、頭に血が上った状態ですから、「直ぐ来て、直ぐ治せ !!」となります。


このような時に、「今から、プログラムを解析しますので、あと1週間待って下さい。」等と言えるでしょうか ?


そんな事を言った日には、「お前・・・殺すぞ!!」となってしまいます。

----------------------------------------------------------------------------------------------

ちょっと話が逸れてしまいましたが、プログラムやシステムの仕組みをドキュメントに残す事は非常に重要な事なのです。


しかし、この「非公認」の「Excel職人達」は、自分が勝手に作り、自分が使うプログラムだからドキュメントは不要、と言う理論を持っていますので、当然、ドキュメントは作りません。


まあ、確かに、非公認のシステムに対して、「ドキュメントを残せ!」と言う方の理論も、確かに変な感じがします。


どちらの言い分にも、正しい部分と、変な部分があると思います。

                                                                                                              • -

(5)プログラム作成者の消滅

この問題は、上記でも触れましたが、プログラムを作った本人が、職場から居なくなってしまう、と言う問題です。


サラリーマンは、同じ職場に、一生涯居続ける事は、ほぼ不可能です。


営業職で採用された人でも、違う支店や営業所に転勤になる事はありますし、情報システム部門に配属された人でも、途中から営業職や総務部門に配置換えになる事は有り得ます。


また、一生涯同一部署で仕事をした人でも、最後には退職してしまいます。


このように、誰が、何と言おうとも、プログラム作成者は、永遠に会社に残ることは不可能なのです。


そして、その職場には、「Excel/VBAのプログラム」だけが残されてしまうのですが・・・一体、誰がメンテナンスを行うのでしょうか ?


プログラム作成者、つまり「Excel職人」が職場に居た時には、皆から脚光を浴びていた「Excel/VBAプログラム」も、「Excel職人」が職場から去ってしまえば、もう「負の遺産化」が始まります。


Excelを使う環境に変更が無ければ、ひょっとしたら、何の問題も起きずに、「Excel/VBAのプログラム」を使い続ける事は出来るかもしれません。


しかし・・・前述の通り、Excelのバージョンアップや使用PCのグレードアップ等、Excelの使用環境に変更を加わる事で「Excel/VBA」に非互換が発生し、エラーが発生してしまいます。


一度、エラーが発生すれば、もう該当の「Excel/VBAのプログラム」は使うことが出来なくなり、「負の遺産」となってしまいます。


後は、この「負の遺産」の延命するために、特定PCにだけ、昔の環境を残したまま、使い続ける方法を取るケースもありますが、この延命措置を取ると、該当PCに対しては、インターネット接続は出来なくなってしまいます。

                                                                                                              • -

(6)プログラミングが簡単なので、何でもかんでもExcelにしてしまう

このデメリットは、「Excel職人達」に限った話だと思われますが・・・


一度、「Excel/VBA言語」を覚えてしまうと、プログラミングが楽しくなってしまい、普通の「Excel関数」でも行う事が出来る処理でも、「Excel/VBA」で作成してしまう傾向が強いそうです。


確かに、私も、プログラミング言語を覚えた当初は、自分の作ったプログラムが、コンピュータ上で動くのを見るのが楽しくて、沢山、プログラムを作成した記憶があります。


まあ、私の場合、それが、ちゃんとした業務でしたし、プログラム作成後は、きちんとドキュメントを残していたので、何も問題はありませんでした。


しかし、これが「Excel職人」となると話は別です。彼ら「Excel職人達」は、「趣味」でプログラムを作成します。


「趣味」と「仕事」の違いはと言うと、簡単に云うと、我々、ソフト屋は、「仕事」としてプログラムとドキュメントを作ってお金を稼いでいます。


しかし、「Excel職人達」は、「Excel/VBA」のプログラムを作る事が仕事ではありません。


Excel/VBA」で作成したプログラムは、あくまでも業務効率化のためのツールであり、「Excel/VBAのプログラム」を作ったからといって、お金がもらえる訳ではありません。


だから、ドキュメントも作成しませんし、最後まで保守しようとは思っていないのです。


そこが「仕事」と「趣味」の差だと思います。


こうして、「趣味」で沢山「Excel/VBAのプログラム」を作っても、それは、前述の通り、いつかは「負の遺産」として残ってしまう事になってしまいます。

                                                                                                              • -

(7)ファイルの履歴管理ができない

後は・・・それほど深刻な問題では無いとは思うのですが、ファイルの履歴管理が出来ない、と言う点を問題視するケースがあります。


例えば、Excelを、ファイル共有で使用しており、毎日、様々な人達がExcelファイルを更新している場合、それぞれが、自分勝手なファイル名で保存すると、どれが最新ファイルなのかが解らなくなるケースがあります。


まあ、普通に考えれば、ファイル管理規約を作り、ファイル名の後ろに日時を設定すれば、ひと目で最新ファイルが解ります。


このようなファイル管理規約を作れない人達は、ファイル共有機能など、使う資格さえないと思うのですが・・・

                                                                                                              • -

まあ、これ以外にも、次のような問題もありますが、問題点を取り上げればキリがありません。


・ファイル共有時に、折角作ったデータが他の人に上書きされる
・計算式を設定して自動化してもセル内を計算式ごとクリアされてしまう
・使うプリンターによりページ枠がズレてしまう
・部署/部門内の全社員に展開しているとフォーマット変更時にメンバー間の同期が取れない


それに、ほとんどの問題が、業務管理者を決定し、利用規約を作り、ファイル利用者が、規約に従って業務運用を行えば、解決できる問題ばかりのような感じがします。


確かに、いくら規約を作っても、規約を守らない人が居るから問題が起こるのだと思いますが、問題を起こす人は、だいたい決まっています。これは社会で起こる様々な問題と一緒です。


社会問題では、決まりを守らない人は罰せられます。社内でも、決まりを守らない人を罰する(査定する)仕組みを導入するか、決まりを守らない人には仕事を変える等の仕組みが必要なのかもしれません。


また、ファイルにセキュリティを掛け、不必要な箇所を見れない/変更できない仕組みを導入すれば、ある程度、ファイルを保護することは可能です。


「出来ない/使えない」と嘆く前に、もう少し、運用を検討し直した方が良いかもしれません。

■今後のExcel

ここまで、Excelに関して、不要論の正体とか、メリット/デメリットを紹介して来ました。


メリット/デメリットを見てみると、何かデメリットの方が多いような感じがするので、「脱Excel」を図り、他の高額なツールを購入した方が良いようにも見受けられますが・・・


今、現在、Excelのライセンスを持っているのであれば、高価な「英語3文字ツール」を購入する前に、現状の運用を見直し、Excelのメリットを活かす方法を検討した方が良いと思います。


何も検討を行わず、ネット上の広告に踊らされ、「それならETLツールだ !」等と言って飛びつくと、結局は、また同じ問題が起きる可能性が高いと思います。


そこで、本章では、今後、Excelで業務運用を行う場合の対応策を紹介したいと思います。特に、前章で「Excelのデメリット」ととして取り上げた項目への対応策を紹介します。

----------------------------------------------------------------------------------------------

Excel/VBAプログラムの取り扱い

Excel/VBA」関連の問題点は沢山あります。そこで、前述のデメリットで取り上げた項目毎に対応策を検討してみたいと思います。


(1)バージョン間の非互換

Excelのバージョン間の非互換には、一般的な会社では、どうやっても太刀打ち出来ません。


「だからExcel/VBAなんか使っちゃダメなんだ !」と言うのは簡単です。「Excel/VBA」を使わずに、業務が効率化できれば何も問題はありません。


しかし、既にプログラムを作ってしまい、それが業務の運用方法として固定化されてしまっている場合、そう簡単に、プログラムを捨て去るのは難しいと思います。


このような場合、今更、プログラムを捨て去ることも、業務運用を変更することも難しいので、「Excel/VBAには非互換は付き物」と言う事を認識し、それなりの予定を立て、システムの非互換対応に関しても、業務スケジュールに組み込む事が必要になります。


現在のPC環境に関しては、何時まで使用可能で、何時頃までにはリプレースする必要があるのかに関しては、だいたい予測していると思います。


PC環境のリプレースは、Microsoft社が勝手に決めた「ライフサイクル・ポリシー」に振り回される事になるので、非常にムカつくのは解ります。


しかし、PCのOSとして、「Windows OS」を使っている限りは、Microsoftの奴隷にならざるを得ないので、致し方ありません。


と言う事で、現在使っているOSが「Windows 7」であれば2020年1月まで、「Windows 10」であれば2025年10月までは該当OSが搭載されたPCを使う事は可能です。


当然、OSとOfficeのライフサイクルは異なりますが、通常、予算執行の関係もあり、PCを変えるタイミングで、Officeも買い換えます。


このため、その時の予算に、「Excel/VBA」で構築してあるシステムの移行費用も組み込む事をお勧めします。しかし、ここで問題となるのは、予算の執行部門の問題です。


比較的小規模な会社で、「情報システム部」と言う部門が無い企業あれば、余り問題は無いと思います。


ところが、「情報システム部」があると、PCの買い替え予算は、この「情報システム部」の予算となっていますが、「Excel/VBA」の非互換対応予算は、「情報システム部」ではなく、その他の各部門の予算になります。


Excel/VBA」の非互換対応予算に関しては、このような「部門の壁」の問題もありますので、余計に、前もって、きちんと検討しておかなければならない問題だと思います。


加えて、「VBAの非互換対応なんか簡単に治るだろうから課長決済の範疇で済む10万円位の予算で大丈夫 !」等と思ったら大間違いです。


既存システムの改修の場合、既存システムの分析/解析という、新規システム開発には存在しない余計な開発フェーズが必要です。


さらに、開発ドキュメントが、きちんと揃っていれば、この「既存システム分析/解析フェーズ」は短期間で済みますが、開発ドキュメントが存在しない場合、余計に開発工数が掛かります。


この点を、ちゃんと理解した上で予算を考えておかないと話になりません。注意して下さい。

----------------------------------------------------------------------------------------------

(2)開発ドキュメントの作成

「開発ドキュメントが存在しない」と言うのは、かなり深刻な問題です。


上記「非互換対応」でも問題となりましたが、開発ドキュメントが存在しないと、システム移行時、および問題発生時に、余計な対応工数、つまり余計な費用が掛かってしまいます。


このため、「Excel/VBA」とは言え、きちんと開発ドキュメントを残して置く必要があります。


しかし・・・これが、新規に「Excel/VBA」でプログラムを作成するなら問題ありませんが、既に作成済の「Excel/VBAプログラム」が存在し、かつプログラム作成者が、どこにも居ない場合は大変です。


もう誰にも、プログラムの仕組みやロジックの意図が解りません。もうこうなると素人では手に負えません。


社内に「情報システム部」が存在し、かつ親切な「情報システム部」であれば、既存システムのドキュメント作成に協力してくれるかもしれません。


しかし・・・通常の「情報システム部」であれば(笑)、部門が勝手に作成したシステムに関しては、自分達の業務範疇ではないので、何を言っても相手にしてくれません。


そこで頼りになるのは、やはり、弊社のような、外部のシステム開発会社ですが、しかし、外部の会社なので、当然、ドキュメントを作成するだけでも費用は掛かります。


このため、上記でも触れましたが、非互換対応を行う時に、ドキュメント作成も同時に依頼し、成果物として、ソースコードと一緒に納品してもらうのが、タイミング、費用、そして予算を使う名目としても好都合だと思います。


普段から、外部の会社を探し出し、良い関係を築いていけば、万が一の時にも、頼りになると思います。


そして、・・・システム会社と「良い関係」を築く上で気を付ける事は、やはり費用にだけ注目し、「安く/早く」だけを求めると、相手も、そのような会社とは、良い関係を築こうとは思いませんので、「安く」とか「簡単に」とか「直ぐに」等、相手を見下すような態度は取らない様に注意して下さい。

----------------------------------------------------------------------------------------------

(3)プログラム作成者の移動/消滅

これも、上記で触れましたが、「Excel/VBAシステム」の作成者が、職場や会社に存在しないケースも、どうしようもありません。


前述のように、「親切な情報システム部」があれば、何とか面倒を見て貰えるかもしれません。


しかし、大概の「情報システム部」は、部門内で勝手に作成したシステムに関しては相手にしてくれませんので、やはり外部の協力会社に頼る事になると思います。


部門内、および社内に技術者が居ない場合、今後を見据えて技術系社員を雇用するか、あるいは外部パートナーを頼る事になります。


社員ならば多少の無理や難題に対応すると思いますが、外部の場合は、無理/難題に比例して費用が増える事になりますので、外部の会社を、対等なパートナーとして活用できる関係を構築するのが良いと思います。

----------------------------------------------------------------------------------------------

(4)プログラムの乱立

このケースでは、何でもかんでもExcel/VBAでプログラムを作成してしまうケースです。


従来、社員がExcel/VBAでプログラムを作成するケースは、あくまでも個人の裁量となるので、業務のシステム化に関して、部門長が管理するのは難しいのではないかと思います。


しかし、業務のシステム化を、部門長が黙認していた場合、知っていたにも関わらず何の指示をしていない事になりますので、もう個人の問題ではなく、部門の問題になります。


本来、自部門の社員が、どのような方法で業務を行っているのかを管理するのも部門長の責任だと思います。


「仕事が、早く/ミス無く終われば、後はどうでも良い」、と言う訳には行きませんので、勝手にExcel/VBAで業務のシステム化を進めないよう管理する必要があります。


業務のシステム化を行う場合、今後、どうやって保守/管理して行くのかも、きちんと理解する必要があります。


現在では、「俺は、ITには詳しくないからさ・・・」等と言う管理職は、この世に存在することさえ許されなくなります。

----------------------------------------------------------------------------------------------

●同時編集の可否

これは、単一ファイルに対して、複数人が、編集を行った時に、ファイルの排他制御が取れず、ロックが掛かりっぱなしになったり、あるいは最悪、ファイルが壊れてしまったりする現象への対応です。


「単一ファイルへの複数人同時編集は止めれば良いじゃん!」と言うのは簡単です。


しかし、この運用を止めると、今度は、誰か一人が犠牲となり、沢山の人から寄せられたExcelファイルを、1個のファイルにマージ(統合)しなければならなくなってしまいます。


このファイルのマージ作業は、通常、単に項目をコピー/ペーストするだけの単純作業ですが、数が多いと、かなり大変な作業になりますし、人間が行うのでミスが発生する可能性も高まります。


このような業務がある場合、かなり費用は掛かってしまいますが、「SharePoint」を活用するのが一般的だと思います。


しかし、「SharePoint」で管理しているExcelに関しては、Excel/VBAを使うことが出来ません。つまり、SharePointサーバー内に格納している状態では、Excel/VBAによる処理の自動化等は行うことが出来ません。


Excelに、Excel/VBAによるプログラムを組み込んでいるのであれば、一旦、SharePointから、自分のPCにExcelをダウンロードし、PC内でExcel/VBAを実行し、作業が完了した時点で、再度、SharePointにアップロードする必要があります。

SharePointサーバー上でExcel/VBAが稼働できれば一番良いのですが、前述の通り、SharePointは、元々、他社製品を買収し、無理やりOffice製品に組み込んだソフトウェアですので、SharePoint内ではVBAを稼働させることが出来ないのです。

----------------------------------------------------------------------------------------------

●データ量の増加

この問題は、データ量が増加すると、Excelのパフォーマンスが低下する、と言う問題への対応となります。


従来、Excelで管理できるデータ量には、様々な制限がありましたが、バージョンアップを重ねる毎に、この制限値が増えて行き、Excel2013以降は、ほぼ無制限に近い状況になりつつあります。


このため、何も考えずに、「アレもコレも」、何でもExcelで管理しようとすると、ファイルの容量が増え過ぎてしまい、ファイルを開くまで、何分も待たなければならない状況になってしまいます。


このような状態を回避するには、1個のファイルで管理する項目を、きちんと管理し、過去データ等、不要なデータは、出来るだけ削除するようにして下さい。


前述のデメリットにも記載しましたが、過去データを何年分もシートに保存し、前年比実績などを算出するケースでは、どうしてもパフォーマンスが低下します。


この場合、可能か否かは検討する必要がありますが、過去データは、別ファイルやデータベースに保存する仕組みにし、過去データが必要な時だけ、別ファイル/データベースを参照するような仕組みにすれば、データ量は増えません。


また営業データにしても、全営業部員が、1個のExcelに毎日、売り上げ数字や見込み数字を入力していては、月末には、ファイルがパンパンで、当然パフォーマンスが低下します。


この場合も、一覧表と売り上げ数値を別管理に分離出来れば、ファイルの肥大化は防止出来ます。


ファイルが肥大化しパフォーマンスが低下するのであれば、「Excel + DB」での運用を検討するか、あるいは、もうExcelでの運用を諦め、これも「英語3文字ツール」になってしまいますが、「営業支援システム(SFA:Sales Force Automation)」の導入を検討した方が良いかもしれません。


SFA」は、ライセンス数や提供機能、あるいは利用ストレージの大きさ等により、利用金額が異なり、月額数万円〜数百万円までの幅がありますので、自社の規模や要件に見合ったシステムを見つけ出す必要があります。


他のツールも面倒ですが、これも、かなり面倒な作業です。

----------------------------------------------------------------------------------------------

●ファイルの履歴管理

Excelのファイル管理に関しては、デメリットの項目に記載した通り、誰が見ても、一目瞭然となるようなファイル名にする事が大切です。


個人でも、そして部門でも、必要ファイルを探すだけでも毎日、数分の作業時間をロスしているというデータもあります。


例えば、毎日、必要ファイルを探すだけで10分掛けているとすると、1週間で「10分 × 5日 = 50分」、1ヶ月で「10分 × 20日 = 200分」、1年間で「10分 × 240日 = 2,400分」、つまり1年間の内、40時間は、ファイルを探し続けている事になります。


アホらしい・・・


このような、アホの様な時間をロスしないためにも、ファイル名は、きちんと社内、あるいは部門の規則を作って管理する必要があります。


しかし、変な規則を作ってしまと、その内、誰も規則を守らなくなりますし、そもそもファイル名が何を意味しているのかも解らなくなってしまいます。


以前勤務していた企業で、ISOを取り入れた時に、ファイル名もISOで管理する事になり、ファイル名を、業務と関係ない記号だらけになる管理規約を作ったのですが・・・誰も、その意味が解らなくなってしまい、その内に、その管理規約が消滅してしまった記憶があります。


ファイルの履歴管理や命名規約は、何もExcelに限った話ではありません。


前述のように無駄な時間を無くす様に、基本的には、「業務名 + 作業名 + 日付」等で、ファイル名と履歴を管理するのが、一番簡単で、理解しやすい方法だと思います。


今回、「取り敢えずExcelで良いのか ?」の後編として、次のような内容を紹介して来ましたが、如何でしたか ?


Excel不要論の正体
Excelの問題
●今後のExcel


今回は、Excelに関して、前後半の2回に渡り、その歴史から始めて、様々な問題、およびその問題への対応策などを紹介しましした。


しかし・・・正直な話、このような問題は、別にExcelに限った話ではありません。どのようなシステムにも、それなりのメリット/デメリットは、必ず存在します。


日本人は、業務の効率化を追求し過ぎる余り、必ずと言って良いほど、システムをカスタマイズします。


私は、前職では、パッケージ・ソフトウェアを開発/販売していましたが、ほぼ100%のお客様が、何らかのカスタマイズを行っていました。


今は、どうなっているのかは、よくは解りませんが、昔から、「日本人は業務運用をパッケージに合わせるのではなく、パッケージを業務運用に合わせたがる。」と言われ続けていました。


パッケージ・ソフトウェアの先進国であるアメリカでは、余りカスタマイズは行わないと聞いています。


ですから、このExcelに関しても、様々なカスタマイズを加え、業務の効率化を図っているのだと思いますが・・・


それが、逆にバージョン間の非互換とか、ファイル共有の問題とかを引き起こしているではないかと思います。


加えて、Excel自体が、余りにも広く、誰にでも使われるソフトウェアになってしまったがために、これらExcelの問題だけが、目立ってしまう事になっているのだと思います。

----------------------------------------------------------------------------------------------

これが、パワーポイントならどうでしょうか ?


パワーポイントは、普段は、営業系の人間しか使わないので、多少不便があっても、Excelのようには騒がれません。


一応、パワーポイントにも、VBAが搭載されていますが・・・ほぼ使っている人は居ないと思われます。

----------------------------------------------------------------------------------------------

このように、便利なExcelですので、使い方、それと運用の仕方に関しても、きちんと管理しながら使う必要があると思います。


「あの人が勝手に作ったから・・・」ではなく、日常の業務で使っているのであれば、そのExcelは、もう会社、あるいは部門の資産として、その存在を認め、きちんと管理し続ける事が必要です。


よく弊社にも、「急にエラーが発生したら、直ぐに治して欲しい !!」と言う依頼が来ます。


日常業務で使っているので、直ぐにでも治したい気持ちは解ります。Excelが動かないと、業務が続行出来なくなる事も解ります。弊社としても、出来ることなら、直ぐに治してあげたいと思ってもいます。


しかし・・・それなら、なおさら、普段から、業務システムを、きちんと管理するのが「筋」だと思います。


「今すぐに、ここに来て、治して欲しい!」と言われても・・・正直な所、それは、あなたのワガママでしかありません。


普段から、きちんとソフトウェア資産を管理し、メンテナンスする仕組みを構築する事をお勧めします。


それでは次回も宜しくお願いします。

以上

【画像・情報提供先】
Wikipedia(http://ja.wikipedia.org/)
・本ブログ中の会社名、システム名、製品名は各社の商標および登録商標です

【株式会社 エム・システム】
本      社  :〒124-0023 東京都葛飾東新小岩8-5-5 5F
           TEL : 03-5671-2360 / FAX : 03-5671-2361
盛岡事業所  :〒020-0022 岩手県盛岡市大通3-2-8 3F
           TEL : 019-656-1530 / FAX : 019-656-1531
E-mail    : info@msystm.co.jp 
URL     : http://msystm.co.jp/
        : http://msystm.co.jp/excel_top.html
ブログ       : http://d.hatena.ne.jp/msystem/ 
Facebook   : http://www.facebook.com/msysteminc