3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

エクセルの動作を軽くするには、使っていないエクセルファイルは閉じること

2012年2月5日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

エクセルマクロ・VBA達人養成塾 小川です。

昨日のエクセルマクロ・VBA達人養成塾 基礎コースを終えて、広島に来ています。

今日から週中までかけて、広島~愛媛を旅行します。夕方から、広島にて飲み会です ヾ(´ー`)ノ

ということで。

今日は、ある経営者の方からさいきん受けた相談のお話をひとつ。

この方、夏ごろから、とある中古品の販売代行業をはじめられて、今、大成功されている方です。

僕か知りあったのは去年12月ごろだったのですが、今年もなんと、お正月返上で仕事をされていたとか。

先週、その彼から、急に電話がかかってきました。

「あー、小川さん、実は、相談が…。」

ということで。

何かと思えば。

「商品管理をエクセルでやっているのだが、エクセルが重くなりすぎている。どうしたものか。」

というお話でした。

「『アクセス』っていうのを使うほうが良いのか?」

ということでしたが。

データ数について聞いてみると、数万行レベルには到達していないし、列の数も、50列くらい。
ファイルサイズ的にも、まだエクセルで行ける分量でした。

かつ。

質問の仕方が、

「『アクセス』っていうのを使うほうが良いのか?」

という聴き方である時点で、遠隔からフォローするのは大変なので、そういう点でも却下でした。

慣れない人がリレーショナルデータベースを導入すると、その段階で、経営上の貴重なデータの「見える化」がしにくくなります。

で。

よくよく聞いてみると、やはり、「セルの値を編集する都度、更新に時間がかかる」ということがネックだったようなので。

その問題を解消すべく、アドバイスをしました。

具体的に言うと:

  1. 「VLookUp関数」等の、処理の重たい関数は極力使用を減らす
  2. 他のエクセルファイルを同時に開かない
  3. 自動再計算機能をいったんオフにして運用する

という、3点。

この3つについてはまた機会を見て書きたいですが。

大前提として知っておきたいことは何かというと。

エクセルでは、特に設定変更しない限り、どこかのセルの値が編集される都度、埋め込まれているすべての関数の計算が再度実行される。

ということです。

例えば、

「Book1.xls」というファイルを開いているとします。
「Book1.xls」には、シート「b11」、シート「b12」、シート「b13」という3枚のシートがあるとします。
シート「b11」に、100個のVLookUp関数、シート「b12」に、100個のCOUNTIF関数が入っていたとします。

このとき。

シート「b13」のセル「A1」に「1」とか記入したとしたら。

シート「b11」にある100個のVLookUp関数、シート「b12」にある100個のCOUNTIF関数がすべて計算を再実行します。

たとえ、それらの関数が、シート「b13」のセル「A1」を参照していなくても、です。

さらに言うと。

「Book1.xls」というファイルと、「Book2.xls」というファイルと、「Book3.xls」というファイルを開いているとします。
「Book1.xls」には、シート「b1」、シート「b2」、シート「b3」という3枚のシートがあるとします。
シート「b11」に、100個のVLookUp関数、シート「b12」に、100個のCOUNTIF関数が入っていたとします。

「Book2.xls」には、シート「b21」、シート「b22」、シート「b23」という3枚のシートがあるとします。
「Book2.xls」には、シート「b21」、シート「b22」、シート「b23」という3枚のシートがあるとします。
シート「b21」に、100個のVLookUp関数、シート「b22」に、100個のCOUNTIF関数が入っていたとします。

「Book3.xls」というファイルを開いているとします。
「Book3.xls」には、シート「b31」、シート「b32」、シート「b33」という3枚のシートがあるとします。
シート「b31」に、100個のVLookUp関数、シート「b32」に、100個のCOUNTIF関数が入っていたとします。

このとき。

「Book1.xls」のシート「b13」のセル「A1」に「1」とか記入したとしたら。

シート「b11」にある100個のVLookUp関数、シート「b12」にある100個のCOUNTIF関数がすべて計算を再実行します。

それだけでなく、

「Book2.xls」のシート「b21」にある100個のVLookUp関数、シート「b22」にある100個のCOUNTIF関数がすべて計算を再実行します。
「Book3.xls」のシート「b31」にある100個のVLookUp関数、シート「b32」にある100個のCOUNTIF関数がすべて計算を再実行します。

たとえ、それらの関数が、シート「b13」のセル「A1」を参照していなくても、です。

言い換えると。

エクセルが開いているすべてのファイルにある関数は、どれかのファイルのどこかのセルが編集される都度、再計算される

ということです。

そんな状態で運用していると、当然、エクセルの動作そのものが遅くなります。

この問題を解決したいなら、まずは、「いま使っていないエクセルファイルは、閉じる」というように運用を徹底することです。


お知らせ:「エクセルデータ分析7つの上級技」、本格的にキャンセル待ちになりました。「親指シフト達人養成塾」も、もう〆切り間近です (´・ω・`)

「親指シフト達人養成塾」 (あと1名)

「エクセルデータ分析7つの上級技」 (キャンセル待ち)

●塾長のTwitterはこちらです↓。フォローお待ちしていますね。
http://twitter.com/kanjizaibosatsu

●無料PDFレポート「誰もが知っているWindowsの、誰も知らない12の技」
http://www.exvba.com/freereport/index.php

●法人研修のお問い合わせはこちら
https://sv86.wadax.ne.jp/~exvba-com/closed/toiawase_houjin.php

●ジーザス小川の個人サイト「こねこねのさいと」へはこちらから
http://www.exvba.com/

キーワード

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド