excel

【すぐできる】Excelの検索を少しだけ軽くする方法

Excel検索は遅いし重い Microsoft社使えねー

Excelを複数起動して作業しながら、EclipseやVisualStudioなどを使おうものなら、それ相当のPCが必要です。

相談したところで、「コストがー、稟議がー。」などという謎呪文を唱えられて、事務用PCで実装する日々を過ごしたこともあるのですが、どうにもExcelの検索がネック。

そもそも、PG工程で基本設計を見ながら実装して詳細設計を同時作成をするという謎方針もあったりするので、Excel重いのは致命的。

さてさて、今回は「Excel」の検索が遅いのを、「少しだけ」解決する方法をご紹介します。

1.検索方向は「列」にすべし

検索方向はデフォルトが「行」になっているのですが、これを「列」に変更しましょう。(一度変更すると「Excelを終了するまで」条件が保持されます。

特に、低スペックPCで「行」のまま検索するとヒットしないことがあります。これが「列」に変更すると検索できることがあります。

私はMicrosoftの中の人では無いため、確実なところは分かりませんが、行情報と列情報だと、圧倒的に「行情報の方が大きい」ことが一因だと考えています。単純な「行数(列数)」だけで言ってもそれは歴然です。(行:1048576に対して、列:XFD[16384])

まさか、100万行を一気に読み込むという事はしないでしょうが検索対象外情報として何らかの情報を持っていると、やはり重たくなる原因があるように感じます。

ちなみに、この検索方向を変更することでの支障というのは「ありません」。

「次を検索ボタン」で検索を進めたときに、横(列方向)に行くのが先か縦(行方向)に行くのが先かという話です。(正直言えば、行方向はリスクが高すぎて、低スペックPCで使ってるのを見てると冷や冷やする……。

障害対応でExcel検索して修正するという対応で、漏れが出てしまう可能性が高くなるので注意したいところ。

2.検索は「すべて検索」で行うべし

これは結構知っている人が多い。検索する時は「すべて検索」ボタンを押して行います。

なぜ軽いか? と言うと、画面の描画を一旦STOPしてくれるからです。「STOP」というのは特にブック単位の検索で効果を発揮するのですが、「次を検索ボタン」を利用するとExcelがチカチカとシートが切り替わるところを見る人が多いでしょう。

この描画って、ExcelでVBAを使う人ならお馴染みの「ScreenUpdating = False」の話です。いわゆる、画面に変化(シート移動やセル移動、セル内容の変更などなど)を伴う場合に「チカチカして動作が重くならないように」画面の描画を処理が終わるまでSTOPしてくれる。

最後に

ぶっちゃけ、VBAで自作した方が信用できるし、ある程度特化して作れるから早くて軽いの作れるのですが、会社からお金が出無いですからねー。そもそもそこにお金割いてくれるならPCをせめて、開発に耐えうるPCに変更して欲しい。

さてさて、Excelと言えば「オブジェクト」に対する検索が出来ないや、「正規表現が利用できない」などの欠陥だらけな検索機能だから、たとえ天下のMicrosoft社でも「信用してはならない!」というのを伝えたい。

ぶっちゃけ、Dynamicsなり.Net Frameworkなんかの少し大きい開発に入れば「天下のMicrosoftが決めた仕様だぞ!」と担当者内で飛び交う面白い光景が見られる。

「なんで、こんな実装方法しないといけないんですかー。」

「天下のMicrosoftが決めた仕様だからだよ! Microsoft社に喧嘩を売る気かー!」

そう言って、二人で苦笑いです。

業界人にとっては「Microsoft社使えねー、信用できねー」というのは直接的な言葉を利用しなくても、意思疎通が取れるほどにメジャーなことです。

スポンサーリンク