既存のExcelツールを生かしながら、繰り返し操作と判断をまとめる
複数の既存Excelツールを作り直さず、共通する入力操作と判断ルールを外側からまとめた事例を紹介します。今回作成したツールは、ソースコードやサンプルとともにGitHubで公開しています。
公開したツール
この記事で紹介する仕組みを、Excel VBAで「ソナー搭載パラメータ一括投入ツール」として作成しました。
最新版のmainは付属サンプルで確認済みで、車両情報の設定にも対応しています。v0.1.0は高さ設定までを特定の実務ファイルで確認した版です。どちらも、書式やマクロ構成が異なるあらゆるExcelファイルでの動作を保証するものではありません。実際の業務ファイルへ適用する場合は、コピーした環境で結果を確認してから利用してください。
複数のExcelツールで、似た操作と判断を繰り返していた
業務では、用途ごとに分かれた複数のExcelツールを使うことがあります。
今回扱ったのは、車両に搭載するソナーの位置などをもとに、それぞれ異なるパラメータを作成するツール群でした。各ツールにはすでに計算用の関数やマクロが組み込まれており、必要な設定値を入力すれば目的の結果を得られます。
一つひとつの操作は、それほど複雑ではありません。
- 対象のExcelファイルを開く
- 搭載位置などの設定値を入力する
- 必要に応じてマクロを実行する
- 結果を保存する
ただし、対象ファイルが増えると、この一連の操作を何度も繰り返すことになります。別の車種へ展開するときや、同じ車種でも搭載条件が変わったときには、再び各ファイルを開いて設定し直さなければなりません。
そこで、既存ツールを残したまま、共通する設定入力と処理をまとめて実行する方法を考えました。
単純に同じ値を転記するだけでは済まなかった
一括入力というと、同じ値を複数のファイルへコピーすればよいように見えます。しかし、実際にはファイルごとに細かな違いがありました。
たとえば、同じ搭載情報を使う場合でも、あるファイルでは「下限搭載」、別のファイルでは「上限搭載」の値を適用する必要がありました。入力先のシート名やセル位置も同じとは限りません。また、長さの単位などを変換してから入力しなければならないファイルもあります。
このような作業を手動で行うと、車種を展開するたびに「このファイルには、どちらの搭載条件を使うのか」「単位はどう変換するのか」を確認し直すことになります。
一度調べた内容でも、しばらく時間が空けば忘れてしまいます。毎回正しく調べ直せたとしても、対象ファイルや繰り返し回数が増えるほど、どこかで条件を取り違える可能性は高くなります。
問題は、値を入力する手間だけではありませんでした。ファイルごとのルールを人が覚え、作業のたびに判断し直していることも、手間とミスの原因になっていました。
毎回の判断ルールを設定シートに残す
そこで、一括処理用のExcelファイルに設定シートを設け、対象ファイルごとの違いを登録する形にしました。
設定するのは、たとえば次のような情報です。
- 対象となるファイル
- 入力先のシート名とセル位置
- 適用する搭載条件
- 単位変換や符号反転の方法
- 入力後に実行するマクロ名(空欄なら実行しない)
車種ごとに変わる搭載情報と、ファイルごとに決まっている処理ルールを分けて管理するのがポイントです。
「このファイルには下限搭載を使う」「この項目は単位を変換する」といった対応関係を一度正しく登録すれば、次回は共通の搭載情報を変更するだけで、各ファイルに適した値が反映されます。
これにより、以前調べた内容を作業のたびに思い出したり、もう一度確認したりする必要が減りました。
自動化というと、入力操作の速さに注目しがちです。しかし今回、特に効果を感じたのは、一度確認した判断を設定として残し、次回も再利用できるようになったことでした。
既存ツールを作り直さず、外側から共通操作をまとめる
複数のExcelツールを一つに統合する方法も考えられます。しかし今回は、それぞれの既存ツールを残し、その外側から共通操作をまとめる方法を選びました。
既存ツールには、複数のシートにまたがる関数処理がすでに組み込まれています。これらを一つのファイルに統合すると、シート数や関数がさらに増え、ファイルが重くなる可能性があります。
また、「このファイルはこのパラメータを作るもの」と用途ごとに分かれていた方が、利用する側にとって分かりやすい面もあります。すでに実績のある計算処理を、統合のために作り直すことにもリスクがあります。
そこで、既存ツールの内部には大きく手を加えず、次の部分だけを一括処理の対象にしました。
- 設定値を入力する
- 必要なファイルを保存する
- 問題なく動く場合は、対象マクロを実行する
既存の仕組みを全面的に置き換えなくても、その前後にある共通操作だけを切り出せば、改善できる場合があります。
すべてを自動実行せず、重い処理は切り分ける
設定シートでは、マクロ名を記載したファイルだけ、値の投入後にマクロを実行するようにしました。マクロ名を空欄にすれば、設定値の投入と保存だけを行います。
仕組みとしては、これですべて自動実行できる想定でした。
ところが実際に試すと、一括処理ツールから実行した場合に、非常に時間がかかるマクロがありました。原因調査や改修を続けて完全自動化を目指す選択肢もありますが、今回は、そのファイルについては値の投入と保存までを自動化し、重いマクロは後から個別に実行する運用にしました。
自動化する範囲は、広ければよいとは限りません。
安定して効果を得られる部分は自動化し、相性の悪い処理は手動に残す。それでも、一つずつファイルを開いて設定値を入力する作業がなくなれば、十分に手間を減らせます。
完全自動化にこだわらず、実際の動作を見ながら境界を決めることも、運用を続けやすくするためには大切だと感じました。
初回設定をどう確認したか
設定シートにルールを残す方法には注意点もあります。
初回設定を間違えると、その誤ったルールが次回以降も繰り返し適用されてしまいます。毎回の判断を減らす代わりに、最初の確認が重要になります。
今回は、一括処理ツールを使わずに作成した実績のあるファイルと、新しいツールで生成したファイルを比較しました。そして、同じ条件で設定値が変わっていないことを確認しました。
この確認によって、ファイルごとの搭載条件、入力先、単位変換などの設定が正しく機能していると判断できました。
一度検証済みの設定を作っておけば、次に搭載条件が変わったときには、共通の搭載情報を変更して再利用できます。確認作業をなくすのではなく、毎回繰り返していた確認を、初回の検証へ集約するという考え方です。
この方法が向いている業務・向いていない業務
この方法は、次のような業務に向いています。
- 複数の既存ファイルへ、似た設定入力を繰り返している
- ファイルごとに入力先、単位、適用ルールが異なる
- 別製品への展開や条件変更など、同じ処理を再利用する機会がある
- 既存ツールを維持したまま、周辺の手作業を改善したい
- 作業のたびに「このファイルはどう扱うのか」を調べ直している
一方、対象ファイルが少なく、同じ操作を繰り返す予定もない場合は、設定シートを作る工数の方が大きくなるかもしれません。条件が今後変わらず、一度入力すれば終わる作業にも、必ずしも必要ではありません。
大切なのは、自動化できるかどうかだけでなく、初回設定にかかる工数を、今後の再利用によって回収できるかを見ることだと思います。
まとめ:繰り返し業務では「値」だけでなく「判断」も再利用する
今回の改善では、既存のExcelツールを統合したり、全面的に作り直したりはしませんでした。
各ツールをそのまま活用しながら、共通する設定入力と処理を外側からまとめました。さらに、搭載条件や単位変換など、人が毎回判断していたルールも設定シートに残しました。
その結果、別車種への展開や搭載変更があったときにも、一度調べたファイル固有のルールを再利用できるようになりました。
繰り返し作業を見直すときは、入力やクリックの回数だけでなく、次の点にも目を向けると改善の余地が見つかるかもしれません。
作業のたびに、人が思い出したり調べ直したりしている判断はないか。その判断を、次回も使える設定として残せないか。
既存の仕組みを大きく変えなくても、共通する操作と判断を整理するだけで、手間やミスの発生源を減らせる場合があります。
Excel業務の改善・自動化に関するご相談
既存のExcelやマクロを生かしたまま、繰り返し作業を減らしたい、属人化している判断を設定として残したい、といったご相談にも応じています。
すべてを作り直すことを前提にせず、現在の業務やツールの使われ方を確認しながら、どこまで自動化すると効果があるかを一緒に整理します。
ご相談は、お問い合わせページからご連絡ください。
