Excelが重いときの対処と高速化+Crystal Ballの高速化
業務は切迫しているのにExcelシートが重いとイライラが募る一方です。Excelの動作改善についてPC、Excelファイル、Crystal Ball の3章に分けてご紹介します。
- 1. 原因の切り分け
- 2. PC側の改善策
- 2.1. 他のアプリケーションをなるべく立ち上げない
- 2.2. デュアルディスプレイなどPCの負荷がかかる環境を減らす
- 2.3. 64bit版のExcelを利用する
- 2.4. 電源に接続した状態で利用する
- 2.5. ExcelをCPU割り当てを多くする、GPUを利用しない設定にする、など
- 3. Excelファイル、Excelシートの改善策
- 3.1. Excelブックのシート数が多い、表や画像、グラフが多い
- 3.2. 循環参照が発生している
- 3.3. 参照先のファイルやデータベースが多い、参照に通信が必要となる
- 3.4. 計算式が多い
- 4. Crystal Ball の改善策
- 4.1. 実行モードや表示設定を変更する
- 4.2. モンテカルロ・シミュレーションのサンプリング方法をラテン・ハイパーキューブに変更する
- 4.3. 感度分析や相関に関わるデータを削除する
- 4.4. エラーが発生した際に停止しないように設定する
- 4.5. 使っていない仮定の定義(確率分布)を削除する
- 4.6. カスタム分布を避ける
- 5. Excelベースのリスク分析ソフトウェア Crystal Ball を利用して、サクサク分析を進めましょう
原因の切り分け
Excelシートの動作が重いと大変困ります。なぜ重くなっているのかを調べるのは有効ですが、重いExcelシートの前では、そのやる気すら無くしてしまいます。
本記事では、Excelシートの動作改善について、PC側の改善策・Excelファイル側の改善策・Crystal Ball側(弊社で取り扱うリスク分析ツール)の改善策と分けでご紹介いたします。Crystal Ball をご利用でない方でもご覧ください。ご参考になれば幸いです。
免責事項
- 本記事は一般的な情報提供を目的としております。掲載した内容が必ず効果を挙げられるわけではありません。また、本記事には未検証の内容、通説も含まれます。本記事の一切において正確性・最新性は保証いたしません。
- 記載された手法を実行する前に、必ずデータのバックアップを取ることを推奨します。データ損失やそのほか、本記事に起因して発生した事象/損害に関して当社は一切の責任を負いません。
- 記事内の情報は執筆時点のものであり、予告なく変更される場合があります。
PC側の改善策
他のアプリケーションをなるべく立ち上げない
操作が必要なExcelシート以外はなるべく立ち上げない、PCの負荷を減らすことで動作改善が見込めます。
デュアルディスプレイなどPCの負荷がかかる環境を減らす
他にもPCに負荷がかかる作業は避けましょう
64bit版のExcelを利用する
利用できるメモリが制限されますので、32bit版をご利用の方は、可能であれば64bit版を再インストールしましょう。
Excelのbit数はOSのbit数とは異なります。 確認方法は以下をご参照ください。
参考:Excelのビットバージョン(bit数)の調べ方(外部リンク)
電源に接続した状態で利用する
消費電力は計算能力に影響する場合が多いです。
特にノートPCで作業されている方に多いですが、電源に接続されていない場合に動作がセーブされている場合もあります。
また、コマンドプロンプトを利用して、通常は利用できない「高パフォーマンス」モードを表示することができます。
しかしこの方法は、特にノートPCの場合、バッテリーの持ちなどに影響するかと思いますので自己責任となります。
参考:Windows 10の電源オプションに「高パフォーマンス」「究極のパフォーマンス」を追加する(外部リンク)
ExcelをCPU割り当てを多くする、GPUを利用しない設定にする、など
こちらはたまにお伺いする話なのですが、実際にこの設定だけで高速化したというお声は聞かず、正確性はわかりません。
Excelファイル、Excelシートの改善策
Excelブックのシート数が多い、表や画像、グラフが多い
出来るだけ不要なシートやコンテンツを削除することをお勧めいたします。
また、特にグラフの削除は有効です。利用しないにもかかわらず計算の結果が表示されるグラフは見直しましょう。一方で計算に関わるシートは削除してはいけません。
循環参照が発生している
Excelには循環参照に対処する機能が存在はしますが、格段に重くなるケースが多いです。なるべく避けましょう。
参照先のファイルやデータベースが多い、参照に通信が必要となる
簡略化することで改善の可能性はあります。
計算式が多い
以下のケースが挙げられます。なるべく削除するか、代替手段を取った方がよいと思われます。
- 沢山のパターンを一度に計算しなければならない
- VLOOKUPなどを多用する必要がある
- セルを上手く使って複雑な計算をしている
- 多くの乱数を生成している
あまりに手順が複雑になっている場合には、業務アプリの利用が有効です。一方、計算そのものが複雑になっている場合、特に複数パターンの算出や、最適化、乱数の利用をしている場合にはCrystal Ballなどリスク分析ツールを用いて軽量化の可能性があります。
Crystal Ball の改善策
実行モードや表示設定を変更する
シミュレーション中にグラフを表示しない、値の更新をしないなどの設定となります。設定方法は以下となります。
- Crystal Ball メニュー>実行プリファレンス>速度(タブ)>「グラフ・ウィンドウの非表示」にチェック
モンテカルロ・シミュレーションのサンプリング方法をラテン・ハイパーキューブに変更する
こちらは、単に高速化するわけではなく、同じ試行回数あたりで、より調整された結果が算出できる機能となります。詳細については「」をご覧ください。
・Crystal Ballメニュー>実行プリファレンス>サンプリング(タブ)>「ラテン・ハイパーキューブ」にチェック
感度分析や相関に関わるデータを削除する
シミュレーション実行時には、感度分析や相関を利用するためのデータを保持しますが、それを保持しないように設定することで高速化を図ります。
- Crystal Ballメニュー>実行プリファレンス>オプション(タブ)>感度分析と相関に関するチェックを外す
※これらの機能が利用できなくなりますのでご注意ください。
エラーが発生した際に停止しないように設定する
シミュレーションの途中にエラーが発生してシミュレーション実行が止まるケースがあります。以下の設定でこれを避けることができます。(一方でエラーが目立たなくなります)
・Crystal Ballメニュー>実行プリファレンス>試行(タブ)>すべてのチェックを外す
使っていない仮定の定義(確率分布)を削除する
乱数の発生を大量に実施している場合には、削除することで軽量化しましょう。
カスタム分布を避ける
過去データからサンプリングを実施するカスタム分布は、とても便利ではありますが他の分布に比べて動作が重くなります。もしカスタム分布ではなくても分析できるようであれば、動作が重たくなる場合には避けるか、代替案を検討しましょう。
Excelベースのリスク分析ソフトウェア Crystal Ball を利用して、サクサク分析を進めましょう
弊社ではExcelへのアドインが可能なリスク分析ツール Crystal Ballを取り扱っています。これを利用すれば、パターンの算出や、複雑な計算、最適化、時系列分析を活用した売上予測など、手元のビジネス計算ツールとしてご利用いただけます。
以下のフォームより、様々な業界における定量的な事業リスク分析事例、ビジネスへの応用事例について資料をお配りしております。また、Crystal Ball は15日間の無料体験を活用すれば、シミュレーションを動かしてご自身のExcelシート上でもお試しいただけます。ぜひご確認ください。