
会社の業務で使用しているExcelファイルがあるのですが、いくつものシートとシートごとにデータ量と使用している関数が多量にあり、70MBほどのファイル容量となっています。そのため、処理速度が非常に遅く改善方法をインターネットなどで探しているのですが私がExcelがそれほど詳しくない為、なかなか良い改善方法が見つからない状況です。どうか詳しい方がいられたらいくつかの解決策を教えていただけないでしょうか?これからさらにデータ量が増える見込みで、おそらく100MB超のファイルになるのではないかと思っております。そのぐらいのデータ量ですともうExcelではなく、他のデータベースソフト等を使用したほうが良いのでしょうか?ちなみに現在のシート数は20シートほどあり、最大で30,000行、A~FC列までのデータやピボットテーブル、主にif,sumifs,countifs,vlookupといった関数でそれらのデータを集計、抽出処理しています。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
データベースのように蓄積する必要があるものでしたら、他の方の回答のとおりです。
蓄積する必要がないものでしたら、分割することをおすすめします。
シート単位に分割するだけでも、70MB/20シート=3.5MBになります。
No.5
- 回答日時:
長い 期間、
用いられ続けて いるのですよね?
あの、
他の 何方かが、
挙げられているか、
とも 思い、
確認しましたが、
↓は ないようですね。
知られていないのでしょうか?
割と 有名な、
話しなのですが、
excelの 主な、
鈍重化の 一因は、
excel自身が 抱え続ける、
「履歴、」です。
で、
全シートを 新規BOOKに、
以下の 手順で、
コピーではなく 移動させます。
https://azby.fmworld.net/usage/windows_tips/2005 …
此の際、
コピーでは 使いものに、
ならなく なりますので、
お間違えなく。
其れと、
作業前には 管理管轄責任者の、
了解を 取った上で、
バックアップを 作成して、
頂きたくも 思います。
(※注:無認可で バックアップ作成を、
行うと、
場合によっては、
不正コピー、情報漏洩、転売、
等、
容疑が かけられ、
賠償や 自主退職を、
求められる場合が あります。
お気を付けを。)
次に、
使用関数を 見直しましょう。
何れも、
鈍重そうな ものばかりだと、
思います。
(※注:IF構文、〜IF系構文は、
コンピューターCPUの、
パイプライン処理を 破棄させ、
処理効率を 落とさせる、
恐れが あります。
ですので、
条件分岐方から、
配列数式での 論理式型に、
移行しましょう。)
あくまで、
場合に よってですが、
嘘みたいに 軽くなる場合が、
あります。
私も、
過去 幾度となく、
オペを してきました。
加えて、
他回答者様も 既に、
挙げられて いますが、
計算方法を、
自動から 手動に、
切り替え、
入力等 処理が、
一々には 不要時には、
excelを 止めるのも、
手ですね。
https://pasokon-labo.com/excel-recalculation-aut …
更に、
上記文献中記載内容で 気付きましたが、
読むと 条件付き書式も、
悪さを するらしいです。
ただ、
抑も 巨大ですから、
アクセスですら コンパイルしないと、
難しい レベルかも、
知れません。
SQL等への、
乗り換えを 視野に、
いえららる べきかも、
知れませんね。
因みに、
excel稼働に チューンされた、
Pc、
例えば MacBookProなら、
最高峰カリカリ仕様クラスながら、
5年落ちモデルですら、
100MBファイルでも、
割と 動くと、
思いますよ、
私 使っていますから。
但し、
其の場合は、
構文も 構造も、
私が チューンした、
ものの 話しですがね。
No.4
- 回答日時:
ファイル容量が何十Mbにもなっているなら基本は データベースだけで
も Accessなどのアプリケーションや SQLに移行すべきかと思います。
SQLとは?
https://hnavi.co.jp/knowledge/blog/sql/
ただデータ量の多さと処理の重さは必ずしもリンクしません。分けて
考えるべきです。データベースを移行するまでの場繋ぎとして考える
なら現行自体も見直した方がいいでしょう。
> 主にif,sumifs,countifs,vlookupといった関数で
これらを止めて別のブックでクエリなどを使って集計するだけで相当
処理が軽くなるはずです。大量のデータの入っているブックに数式は
一切入れないことですね。
No.3
- 回答日時:
実際のエクセルブックを見ていないので、明確な対処については分かりませんが…。
相当絡み合ったエクセルファイルを軽くするのは厳しいです。
下手な操作をすると、関数の関連付けが壊れます。
関数は簡単に消せませんが、ピボットは元々のシートの一部を活用して集計しているだけですので、消しても良いのかなとも感じます。少しは軽くなるかと思います。
自身の経験上、エクセルはデータベースソフトのアクセスと違って、セル単位で処理するため融通が効き、軽いソフトです。このエクセルで重くなるのならば、アクセスへの移行も良いかもしれません。が…、使い勝手は、慣れた人なら良いですが、不慣れな人には厄介なソフトです。
試してみる価値はありますが、不慣れな方は相当の勉強が必要です。
また、アクセスに移行してもファイル容量は減らないと思います。
自身も8,000行までで20列程度のエクセルなら扱ったことありますが、30,000行でFC列ということは、180列位ですか。シート数も20もあると。
もし、エクセルマクロの操作について分かるようでしたら、20のシートを20のcsv形式に出力し、関数の代わりにマクロを使うことも可能ですが、こちらも相当の勉強が必要です。
No.1
- 回答日時:
とりあえず、「計算方法」を手動にすることで凌げると思います。
([F9]キーを押して手動で計算をさせます)
てか、そのために「計算方法」を手動にする機能があるんです。
・・・
100MBになるなら素直に Access に切り替えるべきでしょうね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- Excel(エクセル) Excelの複数人での参照について 2 2022/06/01 13:38
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
エクセル 縦に長い表の印刷時...
-
【エクセルマクロ】複数シート...
-
EXCELで2つのファイルから重複...
-
Excelで日付変更ごとに、自動的...
-
トランジスタの選び方
-
ワークシートの共有
-
VBAで CTRL+HOMEの位置へ移動...
-
EXCEL グラフ作成 データの範...
-
【エクセル」 特定のセルで条件...
-
EXCEL の表を一行ずつシートに...
-
Googleスプレッドシートフィル...
-
Excelのセル横にリスト表示をす...
-
ユーザーフォームで別シートを...
-
EXCELのシートの保護機能につい...
-
Excelマクロ 差分抽出の方法が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
エクセル 縦に長い表の印刷時...
-
VBAで CTRL+HOMEの位置へ移動...
-
EXCELで2つのファイルから重複...
-
トランジスタの選び方
-
他のシートの一番下の行データ...
-
Googleスプレッドシートフィル...
-
Excel 売上管理シートに入力し...
-
EXCEL の表を一行ずつシートに...
-
エクセルで名簿を50音で切り分ける
-
excelマクロで複数シート間のデ...
-
エクセルVBAで、特定文字から始...
-
【エクセル」 特定のセルで条件...
-
時間帯の重複を除いた集計について
-
エクセルのカメラ機能について
おすすめ情報