![無視できるほどのデータが詰まった肥大化した Excel ファイル](https://rvso.com/image/1316784/%E7%84%A1%E8%A6%96%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%BB%E3%81%A9%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C%E8%A9%B0%E3%81%BE%E3%81%A3%E3%81%9F%E8%82%A5%E5%A4%A7%E5%8C%96%E3%81%97%E3%81%9F%20Excel%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.png)
ワークブックには 3 つのシートがあり、1 つのシートには数行しかなく、もう 1 つのシートには約 100 行 (列は 3 つだけ) があり、サイズは約 50 MB です。
すべての行にわたって数式を入力するためにCtrl+ Shift+を使用しましたが、それが原因でしょうか?Down
答え1
わかりました。データが入力され、行ごとに数式が適用される行数が不明であるということですね?
各列にタイトルを作成し、タイトルの下の行に数式を入力します。
次に、表としてフォーマットツールを使用して、その2行から表を作成します。
ユーザーがテーブルに行ごとにデータを追加すると、テーブルが拡張され、数式が自動的に次の行にコピーされます。
答え2
新しい (空の) ワークブックを開いて、既存の各ワークシートのすべてのセルを新しいワークブックの対応するシートにコピー/貼り付けてみてください。範囲は十分に小さいので、数分で完了するはずです。
新しいワークブックを保存して、ファイル サイズの違いを確認します。無駄なサイズが増大している場合は、これで修正できる可能性があります。
答え3
壊れたリンクについてのコメントを拡張します。
他のワークシートへのリンクをチェックする場合は、名前付き範囲も含めます。[新しいブックにコピー] を使用して、1 つのタブからコピーしようとしたワークシートがありました。忠実に、[リンクの編集] ... [リンクの解除] を使用して元のワークシートへのリンクを解除し、これでうまくいくと思いました。それでも、ファイルは大きすぎました。
その後、戻って数式...名前マネージャを確認したところ、前のシートにあった範囲への壊れた参照が多数見つかりました。これらの参照は元々 VLOOKUP で使用されていたもので、コピーしたシートでは使用されていませんでした。これらの壊れた参照をすべて削除して保存すると、サイズは予想どおり (< 50K) まで小さくなりました。
私の疑いは、名前付き範囲により、ワークシートで使用されていない場合でも、Excel がその範囲の背後にあるデータを保持するようになるということです。
答え4
コピー元それで:
Excel へのデータ ダンプによって、明らかな内容がほとんどない非常に大きな (バイト単位の) ワークブックが作成されることがよくあります。
理由の1つは、抽出コードがデータに含まれていることです(開発者、Visual Basic)。
サイズに大きな影響を与える可能性が高いのはフォーマットであり、これは次のように検出できます。編集、検索と選択、特別な場所へ移動、最後のセル強調表示されたセルは、最後の「占有」セルから遠く離れています。 これは次のように修正できます。
- 最後の「占有」行のすぐ下の行を選択します。
Ctrl+Shift+Down
。Del
。- 保存。
埋め込みオブジェクトによってサイズが大きくなることもあります(チェック編集、検索と選択、選択パネル)、およびコメントの内容も表示されます (表示されない場合も含みます)。[SO の質問に対する具体的な回答。]
リンクが壊れているピボットテーブルも原因である可能性があります。
その他の原因としては、一見空白の「最後のセル」が実際には使用されている(背景と一致するフォントの色になっているなど)ことや、その他の非表示のオブジェクトなどが挙げられます。
いずれの場合も、ファイルが保存されるまでは、ファイル サイズは「削除」に応じて縮小されない可能性があることに注意してください。