Minerva Consulting AI & データエンジニア

業務の高速化・効率化の考え方と実装例

DX事例03_Excel高速化による業務改善

PDFダウンロード

 「Excelが遅い」と感じながらも、以前から使っているため、その待ち時間を当たり前として受け入れていないでしょうか。

遅さの原因はExcelそのものではなく、テキストファイルの読込方法、セルへの書込み回数、画面更新、再計算、ループ処理など、プログラムの作り方にある場合があります。

 この事例では、4分かかっていたテキストファイル読込処理を、TextStreamの活用によって0.4秒に短縮した例を入口に、Excel高速化の考え方を紹介します。

 


 遅いExcelは、起動、データ読込、集計、保存など、さまざまな場面で利用者を待たせます。
 しかし、長年使っているExcelほど、利用者は「以前からこうだから」「Excelとはこういうものだから」と受け入れていることがあります。

 高速化では、まず処理時間の長い箇所を切り分けます。原因がテキストファイルの読込なのか、セルへの繰返し書込みなのか、画面更新や再計算なのかを確認し、効果の大きい箇所から改善します。

 


 Excelの処理が遅いとき、PCの性能やExcelそのものが原因とは限りません。
03の画面更新・再計算、04の必要以上のループは、Excel VBAへ修正や機能追加を繰り返すうちに発生しやすい現象です。

不要な処理が残ったり、似た処理が重複したりしても、現在は動作しているため、変更によって壊れるリスクを避けて放置されることがあります。

 そのため高速化では、全面的に書き直すのではなく、改善効果と変更リスクを比較し、影響範囲が限定され、テストしやすい箇所から着手します。

 


 すべてのVBAをリファクタリングするのではなく、まず効果が大きく、変更範囲を限定しやすいテキストファイル読込に着目しました。

従来の読込処理では約4分かかっていましたが、TextStreamを利用した読込方式へ変更することで、0.4秒まで短縮できました。

 重要なのは、Excel全体を作り直したことではありません。処理時間を測り、ボトルネックを特定し、その1か所を改善した点です。

補足:
TextStreamは、VBAからテキストファイルを扱うための方法です。実際の適用では、文字コード、区切り文字、ファイル容量、既存処理との整合性を確認します。
「4分から0.4秒」は本事例における実績値です。すべてのExcelで同じ改善率になることを示すものではありません。

 


 TextStreamは、VBAからテキストファイルを順番に読み取るための仕組みです。
従来処理では、1行読む、内容を確認する、セルへ書き込む、といった処理を行数分繰り返していました。

 改善後は、TextStreamでファイルを効率よく読み取り、必要なデータを整理してからまとめて処理します。

 高速化のポイントは、特別に速い命令を使うことだけではありません。
ファイル読込、セル参照、セル書込みなど、時間のかかる処理を何回実行しているかを見直すことです。

 


 Excel高速化の方法はTextStreamだけではありません。遅さの原因に合わせて、読込方法、セル操作、画面更新や再計算、ループ構造などを見直します。

大切なのは、すべての改善策を一度に適用することではありません。処理時間を測り、効果が大きく、変更リスクとテスト範囲を管理しやすい方法を選びます。

補足:
Power Query、配列、一括書込み、画面更新や自動再計算の制御、ループ削減は代表例です。実際の適否は既存Excelの構造と利用条件によって判断します。

 


 Excel高速化は、最初から大規模な改修を前提にしません。まず、利用者がどの操作で待っているかを確認し、処理時間を測ってボトルネックを切り分けます。

そのうえで、変更による影響範囲とテスト方法を整理し、改善効果の大きい順に選択肢を示します。必要に応じて限定範囲で試し、改善前後の処理時間を比較します。

 


 この事例では、4分かかっていたテキストファイル読込処理を、TextStreamの活用によって0.4秒に短縮しました。

 重要なのは、この数値だけではありません。遅い原因を切り分け、変更リスクを管理し、改善前後を数字で確認する進め方です。

 Excelの遅さは、長年の運用で当たり前になっていることがあります。全面改修を決める前に、まず既存Excelのどこで待っているかを確認するところから始められます。

 


関連記事

www.mitech.work