• ベストアンサー

Excelのぎこちない動作について

Office 2007 Excelを使用しています。 仕事で2年前から、あるデータベースに毎日20~30行ぐらいづつ追加入力していたら、いつの間にか2万行を超えてしまい、容量も4.65MBになってしまいました。そのせいか常に動作がぎこちなく、特にフィルターをかけてデータの抽出をしようとすると、時間がかかるばかりか、時にフリーズします。別のいくつかのファイルに分ければよいのでしょうが、そうするとデータの抽出をそのファイルの数ぶんしなくてはならないので、できればやりたくありません。現状のデータを維持しつつもっと動作を軽くする方法はないでしょうか?どなたか教えて下さい。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

一度キーボードでCtrl+Endキーを押し,シートの「最後のセル」にジャンプさせてみましょう。 見た目は2万行使ってるけど最後のセルが6万行より下まで飛んでってしまったという場合。 使ってない2万と1行目から最後のセルの行までを「行選択」,そして右クリックして「行削除」,さらに必ず一度ブックを保存し,閉じて,開き直して,Ctrl+Endの最後のセルが実際に使っているセル範囲の最後に合致するようにしてみます。 比較的簡単に容量を低減できる可能性がある手としては… とりあえずブックを開きます Ctrl+Nで隣りにまっさらブックを並べて開きます 2万行のデータを「データのある範囲だけ」まとめて選んでコピーします #つまり,A1:M20000にデータがあるならA1:M20000を選んでコピーします。 #シートをコピーしたり,手抜きしてCtrl+Aで全セルを選んでコピーするのではありません。 新しいシートに型式を選んで貼り付けの「数式」で貼り付けます。 残りの情報は,一切コピーしてはいけません。 表示形式などの文字書式やセルの書式,罫線,列幅行高さなどは,新しい貼り付け先シートをすっきり列選択して,最初から施し直します。 #数式を入れてなければCSVにして保存し直し,改めてエクセルで開いてエクセル形式で再保存して使ってもOKです。 たとえ数式を使っていても,必要な列の先頭1セルに入れ直してあとはリストの下端までWクリックするだけですから,やり直すのは死ぬほどの手間では無いと思います。 CSVにして開き直すだけで,一体どれぐらいブックの容量が減るか,いちど試してみるのも良いカモですね。 重要なのは書式をコピーしないことと,セルにデータが入ってる範囲だけをコピーすることです。 ご相談のような不都合は,割としばしば ・条件付き書式をよく使っている ・計算効率の悪い数式を多用している ・オートフィルタをかけたまま保存している 場合に,特に酷く顕在化します。

koma_no47
質問者

お礼

早々にご回答頂きまして有難うございました。本来すぐにお礼をしなければならないところ、昨日は仕事が忙しくて今日になってしまいましたこと、お詫び致します。 教えて頂いた通りに一通りやってみましたが、まずCSV方式では3.50MB、数式貼り付け方式では3.68MBにまで容量が減りました。動作もそれぞれ軽快です。自分的にはCSVの方が使い勝手が良いように感じました。この方式だと、セルの結合も解除されちゃうんですね?もしかして重かったのは全ての行に結合が施されていたせいなんですかね?また旧ブックでは、項目ごとにセルの形式が時刻・日時・通貨・ユーザー定義・文字列等になっており、これも重い原因のひとつだったのかと今にして思います。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

セルの結合も書式の一種ですから,一連の操作では置き去りになります。 各列の表示形式は,CSVから開き直すなどした後に「縦一列選んでびしっと付け直せば」容量を食うことも,悪さをする事もありません。セル結合についても同様に,改めて一気に行うなどしてみてください。 元々のご相談で言われているように「何度も何度もに分けてデータを継ぎ足した」りすると,特に他の何か(他のブックだとか,実際にあなたが毎日のデータを持ってきたどこか)からデータをコピー貼り付けでつぎはぎつぎはぎしていると,同じような書式を施しているはずなのに今回の事例のようなトラブルの原因になりやすいです。

koma_no47
質問者

お礼

たびたび有難うございます。今回は大変勉強になりました。今後も宜しくお願い致します。

関連するQ&A