私が今の業務を始めたとき、業務のノウハウがなく、手探りで一つづつ作業をルーチン化する必要がありました。また、業務をやってみると、とても一人で時間内に終わるような量の業務でないことがわかってきました。当初は、とにかく手当たり次第に時間をかけて仕事を行っていましたが、何度か繰り返すうちに、人がやるべきではない仕事、というものがわかってきました。
今の業務も4年が経過しようとしており、事務作業を中心に、こうしたら効率的になった、というアイデアを抽象的ですが、メモしておきます。
こんな人には役立つかもしれません
・毎日繰り返し作業に追われている。
・事務作業が多く、プログラムで何とかしたい人。
業務の分析
作業のマニュアル化
業務でどのような仕事が自動でできるかを観察して、手順を明確にしておく必要がありました。
いきなりプログラム化というのもハードルがありますので、まず自分以外の誰かがわかる手順にまとめるという点が一番重要かと思います。また、作成したマニュアルを利用して、何回か作業を行うことで、マニュアルがブラッシュアップされ良いと思います。
作業分類
マニュアル化を行うと、作業が次の種類に分類されることがわかると思います。
①人の経験的な判断が必要な作業
人の経験的な判断が必要な場合、自動化は難しいですので、さらに細分化して③のような作業に分解できないか考えます。判断が経験が必要と思われるものでも、実は判断にパターンがあった場合、②の機械的な判断となりますので、判断のパターンを分析してみるのも良いと思います。
②人の機械的な判断が必要な作業
この場合こうする、というように判断が明確で、機械的なものであればプログラムで自動化することができます。
③判断が必要ない作業
何も判断が必要ない作業の場合、自動化を検討した方が仕事の効率が上がります。こういった作業を優先的に自動化していくのが良いと思います。
いくつかのアイデア
パッケージソフトからエクセルに
業務で外部のパッケージソフトを使用している場合、業務データをExcelなどに出力できる場合があります。そうしたとき、作業利用するデータをExcelとして出力して、VBAなどで利用することで、業務の一部を自動化できます。
私の業務では、業務データを参照して、自動でデータをひっぱってくるようにすることで、以前は人力で目視して入力していたデータ入力も、数十分が10秒程度に置き換わりました。
よく出すメール案文の自動化
メール作成では、業務データを顧客に送信するため、システムから出力したExcelをプログラムで連携させることで、変な入力ミスがなく、即時でメール作成が終了するようになり、大変効率化できました。
こちらも参考に
業務用Wikiサイトの作成
社内スタッフへ作業のマニュアルや、イレギュラーな事象を共有するため、Wordpressで社内サイトを作成しました。また、後輩が入社した場合も、自分が完全に張り付く必要がなく、マニュアルを渡すことである程度の繰り返し作業を第三者ができるような仕組みづくりの一貫としています。
UWSCによるWindows操作の自動化(主に外部ソフトの自動操作)
パッケージソフトでは、データの検索を検索画面から条件入力して、と色々面倒な手順があるのですが、UWSCというWindowsの操作を自動化する仕組みにより、よく検索する条件などはボタン一つで検索できるようにしています。
↓こちらの記事でも説明しています。
オススメの技術
私が業務の自動化で利用してきたプログラム言語やツールの紹介です。これからプログラムを勉強したい人や、何をやって良いかわからない、といった場合のキーワードとして使っていただければと思います。
VBA
情報量が多いため、検索すればやりたいことが見つかる可能性が高いです。仕事では、ExcelやWordを使うことが多いと思いますので、親和性も高いと思います。
こちらの記事も参考に
UWSC
Windowsの操作を自動化する仕組みです。完成した外部の会社が作成したソフトの操作を自動的に行うときに利用すると便利です。ウィンドウズの操作をマクロのように自動化できますので、何かと応用もききます。
WordPress
ブログやウェブサイトを作成するためのツールです。本サイトもWordpressで作成されています。Wordpressのwiki系テーマは導入すればすぐに社内のお知らせや情報共有にもってこいの代物になります。もちろん、社外では見られないように社内サーバーに設置するか、ログインパスワードを知っている人だけが見られるような仕組みで導入します。
Python
Pythonを利用することで、様々な用途のプログラムを作成することができます。例えば、GoogleChromeを自動化する(Webスクレイピング)という技術を比較的容易に作成できたりします。あとは、Officeを操作することのできるプログラムも作成できますので、重宝しています。サクッと作成して試すことができますので、普段はPythonで作成します。動作速度は遅いので、大量の処理(何万件などのデータ量を処理)する場合はC#などを検討します。
C#
ボタンなどユーザーインターフェースが簡単に作成できるので、確実に今後数年この作業は続くだろうな、というような処理はC#でアプリにしたりします。また、処理速度がPythonよりも何倍も早く処理できるので、しっかり作成するときはC#で作成します。