💭

第3回:Python vs Excel VBA 〜適材適所の見極め〜 VBA一人情シス

に公開

Excel VBAで業務効率爆上げ!一人情シスが語る「真の使えるアプリ」の作り方

第3回:Python vs Excel VBA 〜適材適所の見極め〜


1. それぞれの得意分野: Python(大規模処理)とWebアプリ(共有性)

前回の記事では、「使われるアプリ」の要諦が、ユーザーが慣れ親しんだExcelの中で「自分で触れる」柔軟性にある、という話をしました。しかし、これはPythonやWebアプリといったモダンな技術が必要ない、ということでは決してありません。それぞれのツールには、明確な得意分野があります。
たとえばPythonは、大量のデータを高速で処理する、複雑なアルゴリズムを実行する、機械学習のような高度な分析を行うといった用途で圧倒的な強みを発揮します。データベースとの連携や、様々なAPIを介した外部システムとの連携も得意です。一方、Webアプリは、複数人が同時にアクセスして情報を共有する、場所を選ばずに利用できる、といった点で優れています。全社的な情報共有基盤や、多数の顧客が利用するサービスなどには不可欠な存在です。


2. VBAの特長: 個人業務の効率化、手軽なプロトタイピング

では、Excel VBAの得意分野とは何でしょうか?それは、主に以下の二点に集約されます。
まず一つ目は、**「個人の業務効率化」です。日々の定型業務、Excel内での複雑なデータ加工、特定の形式への自動整形など、特定の個人やチーム内で完結する作業の自動化にVBAは非常に有効です。複雑なシステム連携は不要で、慣れたExcel環境の中で完結できるのが強みです。
二つ目は、
「手軽なプロトタイピング」です。何か新しい業務プロセスを試したいときや、システム化のニーズが不明確な場合でも、Excel VBAなら素早くプロトタイプを作成し、すぐに現場で試すことができます。
前回お話しした請求書作成ツールの例を思い出してください。消費税の切り上げ/切り捨てルールや、特定の顧客ごとの請求額調整、さらには
同じ請求書の中で端数の1円を「いい感じのところで調整する」**といった、細かく、かつ臨機応変な対応が必要な場面がありました。Webアプリでは大掛かりな改修が必要だったこれらの調整も、Excel VBAなら、担当者が直接VBAコードを修正したり、シート上の入力規則を調整したりすることで、その場で柔軟に、かつスピーディに対応できました。これは、VBAが持つ「手軽な修正」と「現場との距離の近さ」がなせる業です。


3. ツールの選択基準: 業務内容とユーザー特性に合わせた使い分け

結局のところ、どのツールを使うべきかは、業務の内容とユーザーの特性によって決まります。
• Python/Webアプリが向いているケース:
o 全社レベルでのシステム化、多数のユーザーが同時利用する。
o 大量のデータを扱う、複雑な計算や分析が必要。
o 外部システムとの連携が不可欠。
o セキュリティや可用性が最優先される。
• Excel VBAが向いているケース:
o 特定の部署や個人の業務効率化。
o 定型的なExcel作業の自動化、手作業によるミス削減。
o 細かいルール変更や例外処理が多い、柔軟性が求められる。
o ユーザー自身が簡単な修正を加えたい。
o 素早くプロトタイプを作って試したい。
一人情シスとしては、これらの特性を理解し、目の前の課題に対して最も効果的かつ効率的なツールを選ぶ「目利き」が重要になります。


4. 連携の可能性: 双方の強みを活かす道

さらに言えば、PythonやWebアプリとExcel VBAは、対立するものではなく、共存し、連携しうるものです。
例えば、Pythonで複雑なデータ集計や分析を行い、その結果をExcelファイルとして出力。その後、そのExcelファイルにVBAでユーザーが使いやすいインターフェースや、個別のカスタマイズ機能を付与するといった連携が可能です。基幹システムからCSVデータをPythonで整形し、それをVBAで動くExcelレポートの入力として使う、といったハイブリッドな使い方も考えられます。
これにより、PythonやWebアプリの堅牢性や処理能力と、Excel VBAの現場への浸透力や柔軟性を両立させ、より強力な業務改善ツールを生み出すことができるのです。


5. なぜVBAを選んだか: 小回りの利く開発と運用

私の経験から、Webアプリでの開発は、機能が固定されれば非常に安定しますが、一度リリースした後の「小回り」が利きにくいという課題がありました。ユーザーからの「ちょっとした要望」に対して、大規模な改修プロセスを経る必要があり、結果的にユーザーを待たせてしまったり、要望を諦めさせてしまったりすることがありました。
それに対して、Excel VBAは、まさに「小回りの利く開発と運用」を可能にします。ユーザーのすぐ隣で、彼らが普段使っているツールの中で、その日のうちに改善を試せる。このスピード感と柔軟性こそが、私がVBAへと回帰し、そして「真に使えるアプリ」を追求するためにVBAを選んだ最大の理由なのです。


今日の言いたいこと: 業務とユーザーに合わせ、**「適材適所」**でツールを使い分けよう。

Discussion