Excel でデータ処理するときに困ること

この記事を読んでいただきたい方

* Excel でデータレポートを作成している人
* Excel で作られたデータレポートを見る仕事をしている人
* Excel でデータ分析を行っている人

Excel は,データ処理の王様です.データの入力,計算,統計演算,グラフによるデータの可視化,なんでもござれです.しかし,状況や用途によっては困ることがないわけではありません.

データ件数に限界がある

Excel で扱えるデータの件数(行数)には上限(1,048,576件: 約百万件)があります.Excel でデータ件数の上限に引っ掛かったことのある方はいらっしゃいますか?ご参考までに,Excel に上限を超える件数(1,048,577件)のデータを読み込ませようとしたらどうなるか,ご覧ください.

Excel 単体ではなく,Access や Power Query を併用すれば,この上限を超えたデータを扱うこともできるようですが,Excel に期待する直感的な操作体系を逸脱してしまいます.

データの出自,履歴がわからなくなりがち

セルに直接データを自由に入力できるというのが,Excel の強みです.でも,そのせいで下の絵のような事態になってしまっていませんか.

Excelの編集が追えない

業務の締め切りに追われて作業をしていると,自分の作業履歴を記録(記憶)しておくのもなかなか難しいことです.

また,Excel には 数式や@関数という強力なツールがあり,他のセルのデータを元に計算を自動で行って,有用なデータを格納することができます.ただ,あるセルに格納された値を見た目だけでは,それが直接入力されたものなのか,あるいは数式や@関数を用いて計算されたものなのかが判別がつきません.したがって,せっかくの数式や@関数の計算結果を,手入力の値で上書きしてしまって,ワークシートの整合性が壊れてしまうということも起こりがちです.

データを捏造できる

先ほどの例は,「善意で行う」データ編集履歴が追えないということでしたが,裏を返せば,悪意のある,または本来あってはならないデータの捏造ができてしまうということでもあります.

PC が遅いと,思わぬ操作をしてしまうことがある

PC が遅くて,マウスカーソルがグルグル廻るような状態が頻発していると,グルグルが止まった瞬間に,Excel のセルに意図せぬ値が入ってしまったり,とかいう経験はおありでないでしょうか.

あとは,ドラッグ入力(便利ですよね!)が行きすぎてしまって,大量にデータを入力してしまったあと,行きすぎた部分を消したはずが,遠く離れたところにデータが1個残っていたり,という経験もおありでないでしょうか.

Excel マクロのセキュリティが不安

Excel マクロ(VBA)は,Excel に読み込まれた状態のデータを処理するだけでなく,Windows OS が提供する機能を呼び出して利用することができるようになっています.このことから,悪意を持ったマクロ(たとえば,ランサムウェアをダウンロードしてインストールする)付きの Excel ファイルを作成して他者の PC でマクロを活動させれば,PC ウイルスとして動作します.実際に Excel マクロウイルスが猛威をふるった歴史的経緯があり,マクロは現在はデフォルトで無効にされています.

画像2

それでも,本来動かさなければならないマクロもあり,それには「コンテンツの有効化」が必要です.したがって,「業務上必要なマクロだ」と思い込ませることができれば,ユーザーはマクロを動かしてしまいます.

見通しが良いようで,実は良くない

データの WYSIWYG(What You See Is What You Get ... 死語でしょうか😅)を実現しているのが Excel の最も気に入られているところだと思います.それが行きすぎて,方眼紙代わりに重宝されていたりしますが…ここでは Excel 方眼紙の是非については論じません.

さて,データの中身が常に表示されているというのは,大変な安心感がありますが,PC のディスプレイで視認できるデータというのはどのくらいの規模でしょうか?データの質にもよると思いますが,せいぜい10列x30行ぐらいが関の山ではないでしょうか?もちろん Excel にはズーム(縮小)表示の機能がありますので,データの全範囲をなんとかディスプレイ表示範囲に収めることはできますし,スクロール機能により縦横を走査して全データを参照することはできるのですが,縮小表示やスクロールで全件表示したデータから,例えば異常値をもれなく見つけるといったことは難しいと思います(選択範囲の件数や合計値などはウインドウ右下に自動的に表示されます…あれは便利ですよね!).

Excel マクロは Excel そのものとは全く違う

データとプログラムが共存できるので,頑張り次第でデータ処理をどんどん自動化できるというのが Excel の強みの一つです.Excel マクロは VBA(Visual Basic for Applications)という,プログラミング言語で記述します.注意しなければならないのは,Excel 自体は WYSIWYG ですが,VBA はそうではないということです.やはり VBA はプログラミング言語なので,数式や@関数よりも難解であることと,何がどう動いてどういう結果になるか(元データが何でどう処理されて結果がどこに格納されるか)という流れが一目で掴めません.このことから,例えば Excel(マクロ)の達人が作成した Excel 処理の伝承がなかなか難しく,業務の引き継ぎに難儀するということが多くの企業で叫ばれています.

保存して,眺めるだけ(保存用,観賞用…実用は?)

先述のように,Excel では容易にデータの内容を書き換えることができてしまいますし,数式や@関数の扱いという Excel ならではの注意事項もあり,他人の作った Excel ファイルは,それが力作であればあるほど「壊してはいけない」ということで,「腫物に触るように」扱われていないでしょうか?業務上,Excel でデータが回覧されることは少なくないと思いますが,その Excel を自分の手で編集して,他の観点から集計しなおしたりすることは少ないのではないでしょうか?もちろん,データは簡単にコピーを取れますので,オリジナルの Excel ファイルは温存しておいて,コピーした Excel ファイルで作業すれば問題ないはずなのですが,PC でコピーしたファイルの履歴管理は意外に面倒なものです.ある Excel ファイルに取り組んだ日,それから二,三日くらいは,そのファイルがどこから来て,どれをオリジナルとして保存して,どのコピーにどういう操作を加えたかが頭に入っていると思いますが,一ヶ月後になるとはたしてどうでしょうか?

こういうやや説明しづらい面倒さが重なって,データを単に「保存して眺める対象」にしていないでしょうか.それは大変もったいない話です.データは動かしてナンボ,です.

まとめ

Excel はデータの万能ツールですが,上で見てきたように,企業での業務を全て委ねるには心配な事柄や注意が必要なポイントがあります.次回以降では,我々の開発したツール ALZETA の説明を行いながら,どのようにして Excel の限界を突破して,データを自在に活用できるようになるかについて述べてゆきたいと思います.

この記事が気に入ったらサポートをしてみませんか?