ノーランは、彼のワークブックのいくつかがかなり大きくなっていることに気づいています。彼はワークブックのサイズを縮小したいと思っていますが、それらを縮小するためのどのアプローチが最良の結果をもたらすかはわかりません。したがって、彼は自分のワークブックのサイズを縮小する方法についての最良の提案を探しています。

この分野で適用できる実際の「実践的な」アイデアに入る前に、大きなファイルサイズが問題になる理由を理解することが重要であることを述べておく必要があります。しばらく考えた後、私が思いついた2つの一般的な懸念事項があります。まず、ファイルが大量のディスクスペースを必要とするか、ネットワークまたはインターネットを介して転送するのに時間がかかるため、人々は大きなファイルサイズを心配するかもしれません。次に、ファイルが大きいほどロードと再計算に時間がかかるため、懸念される可能性があります。

これらの懸念の両方について順番に説明しましょう。

物理ファイルサイズ

ブックの実際の物理ファイルサイズは、ファイル内に保存する要素とそのファイルを保存する形式の2つの主要な要因の影響を受けます。ファイル内の要素は、ワークシート、行と列、スタイル、ピボットテーブル、マルチメディア(画像、音声、ビデオ)、

などです。ワークブックがワークシートで構成されており、それらのワークシートが行と列で構成されていると言う必要はほとんどありません。

ただし、気付かないかもしれませんが、ワークシートを非表示にすることができ、ワークシートに余分な行と列を含めることができます。

まず、ブック内のすべてのワークシートを再表示します。隠されているものがあるかどうかを確認するのは簡単です。ブックのワークシートタブの1つを右クリックするだけです。表示されるコンテキストメニューで、[再表示]オプションが選択可能な場合は、ワークシートが非表示になっていることを意味します。オプションを選択すると、すべての非表示のワークシートを示すダイアログボックスが表示されます。それらを再表示してから、本当に必要かどうかを判断します。そうでない場合は、それらを削除してスペースを解放してください。

ここで、残りの各ワークシートで、Excelによって保存されている無関係な行または列があるかどうかを確認する必要があります。最も簡単な方法は、ワークシートを表示してCtrl + Endを押すことです。これにより、Excelがワークシートの最後の行と列であると見なすものがすべて選択されます。列の最後の行であると思われるものと一致しない場合は、実際の最後の行と列以外のすべてを削除するだけです。

ここで注意点が1つあります。無関係な行と列を削除する場合(すべてのワークシートで必ず実行してください)、ブックを保存し、Excelを再起動し、ブックを再読み込みして、各ワークシートを再度確認する必要があります。これを行うことは、無関係な行と列を単にクリアするのではなく、本当に削除したことを確認するための「ダブルチェック」です。

(実際には、クリアするのではなく、削除する必要があります。)

不要なスペースに関して確認できることがもう1つありますが、これは、Excel以外のソースからワークシートにデータを貼り付ける場合、またはサードパーティのプログラムによって生成されたデータをインポートする場合にのみ適用されます。場合によっては、データのテキスト値の最後に余分なスペースが含まれていることがあります。たとえば、「これは私の例のテキストです」などの単純なテキストの代わりに、セルに複数のスペースが続くテキストを含めることができます。これには、セルに余分なスペースがあるかどうかを判断するための検出作業が必要ですが、そのためには、次の式が役立つ場合があります。

=IF(LEN(A1) <> LEN(TRIM(A1)), "Extra spaces", "")

TRIM関数を使用してセルの先頭または末尾のスペースを削除すると、セルの内容の長さが同じでない場合、数式に「余分なスペース」というテキストが表示されます。問題のあるセルから余分なスペースを削除します。

スタイルはブック内のスペースを占める可能性もあるため、使用していない可能性のあるスタイルを削除することをお勧めします。これを行うための最良の方法は、別の_ExcelTip_で説明されています:

https://excelribbon.tips.net/T012259

また、ブックで使用される書式設定のバリエーションの数と、データ検証を使用する回数を減らすことを検討することもできます。これらは両方ともブックのサイズを大きくする可能性があるため、特に、フォーマットとデータ検証が空のセルに適用されていないことを確認する必要があります。

ブックにピボットテーブルが含まれている場合、これによりブックファイルのサイズがかなり大きくなる可能性があることを理解してください。ただし、ピボットテーブルを引き続き使用して、ブックの全体的なサイズを縮小する方法があります。このテクニックは、ここで見つけることができる別のヒントで最もよくカバーされています:

https://excelribbon.tips.net/T008669

ワークブックのマルチメディア要素に関しては、ワークブックに含まれている可能性のある各画像、サウンドファイル、およびビデオを調べて、本当に必要かどうかを判断する必要があります。マルチメディア要素は多くのスペースを消費する可能性があるため、絶対に必要な場合にのみ使用してください。さらに、画像に関しては、Excel内で画像をトリミングしていないことを確認する必要があります。画像を切り抜くと、画像に表示されているものが非表示になりますが、ブックに保存されている画像の実際のサイズは縮小されません。代わりに、画像をディスクに保存し、実際の画像エディタで編集して、ワークブックに置き換えます。

Excelでは、画像を圧縮して、ブックにある画像の解像度を下げることもできます。圧縮、解像度、品質のバランスをとることは、歩くのが難しい綱渡りになる可能性があります。ただし、歩き始めたい場合は、Microsoftのサイトの1つにあるこの記事が役立つかもしれません:

https://support.office.com/en-us/article/Reduce-the-file-size-of-a-picture-8db7211c-d958-457c-babd-194109eb9535

最後に、ファイルの保存に使用している形式を確認します。ブックをロードし、F12キーを押して[名前を付けて保存]ダイアログボックスを表示し、ブックを新しい名前で保存します。これにより、Excelはファイルを最初から書き直し、ファイル内の未使用スペースを排除できます。

チェックするもう1つのことは、ファイルをXLSMではなくXLSX形式で保存できるかどうかです。後者のファイルタイプは、ブックにマクロがある場合にのみ必要です。マクロが必要ない場合は、[名前を付けて保存](ここでもF12)を使用し、[ファイルの種類]ドロップダウンリストを使用して、XLSX形式を指定します。

それでもファイルサイズが目的のサイズに収まらない場合は、[名前を付けて保存]ダイアログボックスを使用して、ファイルをXLSB形式で保存することを選択します。これは、ファイル内のスペースを大幅に節約できるバイナリ形式です。

ロード時間と再計算時間

ファイルサイズに関する主な懸念事項がロード時間と再計算時間に関連している場合、問題はブックに格納されているものだけではありません。このヒントで前述したすべての項目を処理する必要がありますが、ブックの読み込みに時間がかかる場合があります。これは、ブックが読み込まれると自動的に再計算されるためです。ブックに大量のデータや複雑な数式が含まれている場合、読み込みが遅くなるのは再計算であり、読み込みではありません。

計算時間を最小限に抑えるために、いくつかのことを確認する必要があります。

これらのことをチェック(および修正)することはファイルサイズにそれほど影響を与えませんが、ロードと保存の時間が速くなります。

循環参照を取り除きます。*循環参照を解決するために必要な反復には時間がかかります。循環参照式が多数ある場合、必要な時間は実際に合計される可能性があります。

揮発性関数は避けてください。* Excelのワークシート関数の一部は「揮発性」と見なされます。つまり、ワークシートのセルが変更されるたびに再計算がトリガーされます。これらの関数は、RAND()、NOW()、TODAY()、OFFSET()、およびINDIRECT()です。さらに、INFO()関数とCELL()関数は、関数で使用される引数によっては揮発性になる場合があります。

より効率的になるように数式を作り直します。*これには時間、探偵作業、知識が必要ですが、計算を高速化するさまざまな手法を使用するように数式を書き直すことができます。 (このアイデアは、必要な知識を身に付けたとき、または状況に適用できるヒントやtweeksに出くわしたときに、時間をかけて適用するのに最適なアイデアです。)

数式の使用を最小限に抑えます。数式を使用してセルを計算していて、それらの数式が依存する値が変更されない場合は、数式自体を削除することを検討する必要があります。これを行う最も簡単な方法は、すべてのセルを選択し、Ctrl + C *を押してから、[形式を選択して貼り付け]を使用して値をセルに貼り付けることです。

どうしても必要な場合を除いて、外部リンクを削除します。*外部ソース(特にネットワーク経由のソース)から情報を取得する

ロード時間を本当に遅くすることができます。

PowerPivotおよびPowerQueryを使用します。* Excel 2010以降のバージョンを使用していて、Excelを使用して大量のデータを処理している場合は、新しいPowerPivotまたはPowerQueryツールに依存するようにワークシートを作り直すことを検討してください。これらは非常に強力であるだけでなく、大量のデータの処理においても非常に高速であることが証明されています。

それでも計算時間が非常に長い場合は、自動再計算をオフにして、必要な時間を費やす準備ができたときにのみ手動で再計算することを検討してください。このヒントで説明されている手法を使用して、自動計算をオフにすることができます:

https://excelribbon.tips.net/T009999

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(6792)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。