叡智の三猿

〜森羅万象を「情報セキュリティ」で語る

当サイトは、アフィリエイト広告を使用しています。

ついてない夜

「ついていないな」と、苦笑いのある夜・・・。

夕方頃から、いつものExcelファイルを取り込み処理するマクロを実行し始めたのですが、これが全く終わる気配を見せません。1時間が経過しても、2時間が経過しても、画面は白くなったまま延々と処理が続いています。いつ終わるか分からない処理・・・。エクスプローラーを見ると、取り込んだExcelファイルは、30MBありました。

この運用をはじめた頃は10MBくらいの大きさだったのですが、処理を重ねる毎に肥大化したようです。

Excelファイルの大きさと、処理速度は、バイト数だけで決まるわけではありませんが、20MB以上になると明らかに重さを感じることが多くなります。フィルタやスクロールで引っかかる感じが出たりします。

ピボットやマクロを使うと、実業務に支障が出ることもあります。Excel が重くて業務が進まない、処理に時間がかかりすぎて使えない、という状況は「必要な時に必要な情報を利用できる状態」が確保されていないことを意味します。

これは情報セキュリティの可用性の問題にあたります。

短期的には現行のExcel処理環境を見直し、不要な関数や重複データを削除し、処理効率を高める必要があります。また、マクロの最適化をするなど、エラーや処理遅延を防ぐ工夫を行うべきです。

一方、中長期的対応としては、大量データを Excel で処理すること自体に限界があります。データベース・システムや ETLツール* 、あるいは専用業務システムへの移行を検討するのが望ましい状況です。安定した基盤で、処理を行うことで、可用性の確保と同時にデータ破損リスクを低減し、完全性も強化できます。

ETLツール:大量のデータを扱うときに使う仕組みで、以下の頭文字を取ったもの。

  • E(Extract:抽出):さまざまなシステムやファイル(Excel、データベースなど)からデータを取り出す。
  • T(Transform:変換):取り出したデータを加工・整形する。(例:日付の形式をそろえる、文字列と数値を統一する、不要な列を削除する)など。
  • L(Load:格納):加工したデータを、目的のデータベースや分析用システムに格納する。

そんなことを考えながらも、わたしにとって最大の問題は、この処理を一刻も早く終わらせ、家に帰ることです。

さすがにやるせなくなりました。仕方なく、マクロを強制終了することにしました。取り込む Excelファイル には VLOOKUP関数 がたくさん仕込まれています。

シートに対して、VLOOKUP や IF関数 が大量にあると、再計算だけで時間がかかります。特に VLOOKUP を複数列で組んでいると、処理時間は列数に比例して増加します。

VLOOKUP結果 が固定でよい箇所は、数式を削除して値に変換しました。これだけでファイルが軽量化され、処理速度は数倍改善する期待です。

値貼り付けを間違いがないよう対応してから再実行したところ、今度はあっけないほど早く、処理が完了しました!

「やった〜帰れる!」

しかし、喜んだのも束の間です。ファイルの突合結果を確認するとなんとゼロ件という有り様でした。

焦って原因を追究すると、突合キーの部分が数値として処理されていることが問題と判断できましま。一見同じ値でも、数字か文字かの違いは、よくある Excel のややこしさです。マクロでこれを文字列形式に強制変更すれば正常に突合されることが分かりました。修正して再度実行し、今度こそ正常な結果が得られたときには、既に時計は夜10時を回っていました。

「深夜残業か〜!」

長時間の格闘でさすがに疲れ果てました。トイレに行って戻ってくると、なんと守衛さんによって、事務所は既に消灯され、真っ暗闇の中でノートパソコンの電源ランプだけが孤独に光っています。わたしは部屋の明かりをつけ、最終電車の時刻を気にしながら、急いで報告書を書き上げ、なんとか駅に滑り込みました。

本当についてないのはここからです。

幸い最終電車には間に合い、車内を見回すと運良く座席が空いていたので、ほっとして腰を下ろしました。ところが数秒もしないうちに、お尻の辺りがひんやりと冷たい感触に襲われ、慌てて席を立ち上がって振り返ると、座席の全面に正体不明の黒いシミが広がっているではありませんか!?

一体何が原因でこんなことになっているのか全く見当もつかず、他の乗客の視線が気になって仕方がありません。結局、その後はずっと立ったまま、人を避けるようにわが街につきました。

電車を降りると、深夜の雨が静かに降ってます。傘を持っていないことを悔やみながら、濡れたアスファルトの上を一歩一歩踏みしめて、ようやく家につきました。心身ともに重たい気分。

こんなついてない1日でも、冷蔵庫をあけたら、炭酸があります!ちょっとのアルコールをごくごくしたら、ほろ酔い加減のいい気分になりました。