- ベストアンサー
エクセルで大量のデータを快適に扱える方法
- マイクロソフトオフィス2010のエクセルを利用して仕事を行なっているが、データのフィルタリングで固まってしまうため作業ができない状況。
- エクセルには約20万件のデータが入っており、ファイル容量も30MB以上になっている。
- パソコンのスペックはCPUがi5でメモリが8GB、ドライブはSSDの128GB。タスクマネージャーで確認したところ、エクセルのプロセスではメモリ使用量が1GB未満でCPU使用率が80%程度まで上がっている。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
約20万件のデータというのはEXCELが扱うべき量ではありません。 メモリーが足らなくなって頻繁にページの書き換えが起こっているのでしょう。 このソフトで千行を超えるデータを扱うことはお勧めしません。 このソフトはそういうものを相手にするものではないと思うべきです。 その大量のデータはAccess等のデータベースソフトが向いています。 これらで処理すると、速度は本当に瞬間的に出るという感じですし、またファイルの大きさも非常に小さくできます。 勿論Excelのように間単に覚えられるソフトではありませんが、あなたが本当にその大量のデータを日常的に扱うのであれば、勉強する値打ちはあります。 それを覚えるとデータ処理の幅が飛躍的に広がります。 また検索条件だけをAccess等だけで行い、抽出した少量のデータはExcelでということも出来ますから、基本の検索の仕方を覚えれば結構いろいろ出来ます。 是非これをお勧めします。 私は何でもExcelという考え方は良くないと思いますが
その他の回答 (1)
- aoyama984
- ベストアンサー率45% (253/561)
個人的には Excelの形で大きなデータを持つのは効率が悪いと思います たとえば CSVやTXTの形式で 純粋にデータのみを保存したら どのくらいの容量になるのでしょうか 絞込み検索とは 具体的にはどんなデータをどんな条件で なのでしょうか 結果はMAXで何件くらいになるでしょうか http://office.microsoft.com/ja-jp/excel-help/HA010099664.aspx http://www11.plala.or.jp/koma_Excel/contents6/mame6041/mame604101.html 外部データの利用で クエリ という機能を使ってみてください Excel内ではなく TXTなど外部化してください 最初は難しく感じるかもしれませんが 画面を見ながらでは とても時間がかかると思います VBAを利用して自動化して データのSheetをアクティブにせずに フィルタをかけて ヒットしたものだけを別シートに表示するなら 比較的軽く動くかもしれません VBAが可能なら データは外部化して Access-DBなどにして ユーザーフォームを利用すれば かなり使いやすくなります http://www.forest.impress.co.jp/lib/offc/document/docsupt/smcsvedit.html http://www.forest.impress.co.jp/lib/offc/document/docsupt/cassavaedit.html Excelから離れてみることもいいかもしれません http://www.forest.impress.co.jp/lib/stdy/program/progeditor/kuronekosql.html http://www.forest.impress.co.jp/lib/stdy/program/progsupt/pupsqlite.html まずは CSVやTXTに変換してみてください それだけでかなり容量は軽くなります
お礼
やはりエクセルには適していないのですね。 ユーザーフォームを利用して絞込みを行なう。という様な事も可能なんですね。 ご指摘の通り、一度エクセルで管理するという考えてから離れてご紹介頂いたサイトを参考に勉強したいと思います。 ご回答ありがとうございました。
お礼
エクセルで扱えるのに適した件数はそのくらいなのですね。 アクセスは利用したことがありませんが、エクセルとは大差ないものと考えていたため、そこまでの違いがあるとは思っておりませんでした。 データは日常的に利用をしていますし、今後はそのようなデータに触れる機会も増えてくると思いますのでアクセスに挑戦をしようと思います。 ご回答ありがとうございました。