何でもかんでもエクセル


エクセル

新しい職場のお仕事環境

何度か当ブログでも、新しい部署への異動について書きましたが、新しい部署ではとにかく大量のデータを扱います。
大量のデータを扱うのにもかかわらず、エクセルなどのソフトに通じた人間がいないというわけで、丁度職場環境を変えた方が良い人間、つまり自分がいたため、新しい部署に送り込まれたわけです。
(少しぐらいなら自分もエクセルを独学で使うことができました…)

上司から軽くレクチャーを受け、「比較的大きなデータを扱う部署にもかかわらず、エクセルにそれなりに通じた人間がいないので、その部署に乗り込んで欲しい」とのこと。
コアなエクセル技術は持ち合わせてはいないけれど、プログラミング的なことは好きだったし、エクセルの関数も職務上影響の内範囲で触ることができたので、その申し出を快諾しました。

技術者的ノリで現場に入ってしまえば、今までのビジネスカジュアルよりももっとラフな格好で職場をウロウロしても問題無いだろうというもくろみもあったわけです。
スーツとか、ジャケットとか大嫌いなもので…
技術者っぽくチェックのネルシャツを着たかったのでw

そんな軽い気持ちで新しい職場に赴くと。

スポンサーリンク

トンネルを抜けると、そこはエクセル地獄だった

出社初日、驚きの光景が目に飛び込んできました。
エクセルと格闘する管理者。
その管理者は、その業務を始めるに当たって、業務構築をした担当者が残したエクセルをとにかく動かそうと必死にもがいておりました。
ちなみに、業務構築をした担当者は、実際にそのエクセルが現場で通用するものかどうかを確認することも無くその職場を後にし、次の職場に行ってしまい、後には軽くレクチャーを受けた管理者だけが残さ、しかもそのエクセルとやらは、理想条件下での作業を想定し作成されたもので、実際にデータを流し込んだことが無いというヤバイ代物。
管理者は実際にデータを流し込んだところ、エクセルがほぼ固まってしまい、処理が戻ってくるまでにほぼ1日かかるというそのエクセルとまさしく格闘している最中でした。
管理者は、とにかく動作を軽くしようと格闘しておりましたが、そもそも構造が分からず、改修作業に四苦八苦。
そのたびにエクセルが怪しい挙動を示すため、改修作業は困難を極めているようでした。

しかも、4人の中でエクセルが理解できる人はたった2人。そのうち1人は、全体管理者で人事についても業務負担をしており、作業に加われない状態。
つまり、たった1人の管理者で、よくわからない挙動を示すエクセルという怪物を手懐けようと必至になって作業を繰り広げていたわけです。

エクセルの作業以外にもいろんな作業を頼まれていたけれど、直近の問題はエクセルにあると判断して、エクセルと格闘している管理者に声をかけると、「1日経っても処理が終わらない…」と嘆いて頭を抱えている状態。
一緒に問題のエクセルの分析(分析っていうか、そのエクセルが何物かということを知ること)を始めた矢先、上司から連絡が入り、その分析作業をしようとしていたエクセルがあと数日で始まる業務でどうしても必要なため、なんとしてでも動くようにして欲しいという要望が入り、当初のエクセルアドバイザー兼何でも屋という立場から、いきなりシステム屋さんに鞍替えすることを余儀なくされました。

何とかエクセルを手懐ける

ともかく、そのエクセルを何とかしなくちゃ、と管理者に話を聞き、その管理者が理解し得たエクセルの情報をすべて聞き出すも、どうにも要領を得ない感じ。
話を聞きつつ、自分もエクセルをみてみると、あるシートに疑念を抱きました。
そのエクセルは簡単に言うと顧客間利用のデータベース的エクセルで、数万レコードの情報がメインのシートに存在し、そのシートから疑惑のシートにある一定の法則で中間データが生成され、そのデータをもとに他シートに多角的にレポートが出力されるという仕組みになっていました。
自分がみて感じたことは、疑惑のレコードが余りにも多様な要望に応えようとしすぎて複雑怪奇に関数が組まれているという事実と、実はそんなに多角的なレポートは要求されていないということでした。

そこで、管理者に1つの提案をします。
顧客データと、レポートの出力形式は今までのままでも問題無いけれど、中間データの生成ロジックが複雑すぎるから、「大規模な手術をしよう」と。
すると、管理者は突然及び腰に…
そのエクセルを作成した担当者は、この業務を獲得する際に主導的な役割を果たしたようで、その人の承諾無しに勝手にエクセルを変更しても良いものかと…
しかし、現実に業務開始は目前に迫っており、議論の余地は無しと判断。
「その人のプライドを守るのと、業務を守るのを比べたら結論は明らか」ということで、自分で勝手にエクセルを改修することに。
何か言われたら自分が責任を取れば済む話と、管理者をなだめて、エクセルの改修作業の一切を自分の責任の基で行うことを独断で決定。
あとは、入力と出力の状態が全く一緒になるように、中間データの生成方法を考案するだけ。
その作業は、少し頭を悩ませたものの、1日ほどで完了し、今まで1日経ってようやく反応が返ってきたエクセルが、リアルタイムで動き、レポートの出力も2秒ほどでできるように。
その事実を上司に報告し、事後承諾の形で承諾を取り付けたので、全くおとがめ無し。
業務は滞りなくスタートという所までこぎ着けることができました。

そもそも論

と、まぁ、エクセルを多用している仕事であればこういうことは日常茶飯事だとは思うのだけれど、兎に角うちの会社のエクセル信奉は半端ない。
何でもかんでもエクセル。
文書を作るのもエクセルだし、マニュアルも何故かエクセルで作るほどのエクセル大好き企業。
上司も、エクセルが使えない割にはエクセルに対する信頼が、妄信的に篤く、「1日5分エクセルを使うだけで癌が治った」みたいなキャッチコピーすら信じてしまいそうな勢い。
そもそも、数十万レコードにわたる顧客データベースをエクセルのみで運用しようとし、しかも多角的なレポート出力の余力までとっておこうとするそのご都合主義にはもう、ただただ驚嘆あるのみ。
普通なら、SQLサーバとか、アクセスを使って管理と実稼働を行うべき所を、1つのエクセルファイルの中にある複数のシートで行うことに無理があることを全く理解してない模様。
管理者も、悲痛な声を上げて、アクセスの導入、サーバの導入を訴えかけたそうですが、コストを巡って話し合いが紛糾してしまい、結局ここまで来てしまったとのこと。
とりあえず、実稼働に耐えるエクセルができたからよかったものの、破綻してたらどうなったものかと思いましたよ。

許されぬ楽観論

しかし、そんな安堵も、吹き飛ぶ事態が発生。
顧客データがさらに数十万レコード追加されることになり、試しにエクセルに放り込んでみたものの、ついにエクセルが破綻。
またもや上手く動かないという事態に。
しかも、今度は、顧客の管理手法が少し変わり、ある一定の条件下の顧客を見つけてこられるような仕様にして欲しいとのオーダーが…
ロジック的にはクリアできる問題だったのですが、何せ数十万レコード増えてしまったため、エクセルが悲鳴を上げてしまい、上手く動かない、途中でフリーズする、エクセルが落ちるという事態に遭遇。

そもそも、エクセルの関数って、常にセルの内容を監視して、情報処理を行っているため、大量のデータに多層構造的に関数がはまると途端に重くなります。
それがここに来てまた問題になりました。
こうなると、違うロジックを考えるか、必要なときに動的に実行されるマクロへ移行するか、クライアントサーバ型のシステムへの移行を行うか、アクセスを導入するかのいずれになるかと思うんだけれど、一体どうなることやら。
もう、いつもエクセルのことばかり考えて、夢の中でもエクセルをいじり倒してます。

プログラミング的なロジックを考えるのは好きなので、全く苦痛じゃ無いんですが、上層部の何でもエクセル主義的な超楽観論「エクセルがあるんだから何とかしてよ」的なノリに、もう驚きを通り越して、あきれてしょうが無い。
まぁ、エクセルのライセンスを買ってあるので、それを使い倒してコスト削減ってことなんだろうけれど、エクセルを使うことによって生じる、時間的損失はコストに含まれないのだろうか…と思ってみたりします。
上層部の近視眼的な考え方にも正直びっくり。(変な楽観論ばかりが先行して、現実が見えず、「べき論」ばかりに話が行ってしまい、現場が取り残されて苦労するというのは前の職場でも経験済みなので、こういう体質なんだと諦めるほかないのかもしれない…)

やっぱり他の会社でもそんなものなんですかね。
人もソフトも適材適所だと思うんですけれどね。
てか、比較的何でもこなしてしまうエクセルの八方美人差に舌を巻きます。ホント。