RPAはマクロによる効率化と何が違うのか

 2018.02.15  RPAチャンネル編集部

RPA (Robotic Process Automation:ロボティック・プロセス・オートメーション)が登場する以前の効率化ソフトウェアといえばExcelマクロやVBAを思い浮かべられる方が多いでしょう。ExcelマクロとはExcelドキュメント上で規定の手順を持つ作業を自動的に実行するための機能であり、これはVBA (Visual Basic for Applications)というプログラミング言語によって記述されています。マクロはExcelに限ったものではなく、様々なアプリケーションで用意されている機能であり、VBAはそれを記述する言語のひとつです。Microsoft Office製品ではVBAが使用されます。

今回はRPAとExcelマクロやVBAは何が違うのかをご紹介します。

ExcelマクロやVBAのカバー領域

定型的な作業が多いアプリケーションとして、Excelが挙げられると思います。単純なセルの合計値などの自動計算や別のシートを参照して値を入力するというレベルであれば、各セル内に関数を記述することによって実現できます。しかし、それを超えたより高度なプログラムが必要になった場合には、Excelマクロを利用します。たとえばExcelシートに入っている売上データを、週次でグラフ化しなければならないとします。このとき、グラフ化するデータの範囲を指定してグラフ形式を選択したり、別のドキュメントを参照するなどの作業が発生する場合には、マクロを使用してそれらを自動化することが可能です。簡単で再現性のある操作であれば、一連の操作を記録することで、マクロを一から記述しなくても作成することも可能です。

VBAはプログラム言語なので、Excelに限らず、Office製品をまたがった利用も可能で、Outlookを起動してメールを出すということも可能です。

このように、柔軟性の高いOffice製品のマクロはExcelを中心にして定型業務の効率化で多く利用されてきました。

RPAのカバー領域

それに対してRPAはどのような違いがあるでしょうか。RPAの自動化する対象は、マクロよりもより広範囲になります。特に最近はWebベースのアプリケーションの利用が増えてきており、Office製品だけで完結しない業務も増えてきているのではないでしょうか。たとえば先ほどの売上データの集計を、Webアプリケーションのフォームにも転記しなければならないとしたらどうでしょうか。レポートの作成まではExcelのマクロでできたとしても、ブラウザを起動してフィールドに入力することはマクロではできません。ブラウザの画面ではなく、アプリケーション側にAPIが用意されて、データ入力用の関数が用意されていれば可能かもしれません。しかしこれはアプリケーションの作りに依存しますので、すべてに適用できるわけではありませんし、利用するにはある程度アプリケーション開発のスキルも必要になってきます。

RPAではこのようなWebブラウザでアクセスするサービス上での操作自動化も可能です。単に入力だけでなく、Excelのセルの値をもとにブラウザで検索をし、その結果をまたExcelの別のセルに戻すといったことも可能です。たとえば交通費精算で、乗車駅と降車駅のリストがあれば、ルート検索サイトで検索し、もとのシートに料金を追記するといったことができるのです。

なぜRPAが注目されている?

従来のマクロ以外にも効率化のためのソフトウェアは存在します。たとえばUWSCというフリーソフト(シェアウェア版もあり)は、パソコン上の操作を記録して自動化できます。ほぼプログラミングが不要なので、ExcelマクロやVBAよりも使いやすいかもしれません。

こうした効率化ソフトウェアは存在するにもかかわらず、RPAが注目され出したのはなぜでしょうか?その大きな要因が「働き方改革」に象徴される「日本の労働環境の変化」と「慢性的な人材不足」による一層の業務効率化の必要性です。

終身雇用制度は終わりを迎えつつあり、日本も海外と同じく人材の流動性が高まってきています。今やキャリアアップのために転職することは当たり前で、優秀な人材確保が難しい時代です。加えて労働人口はすでに減少しつつあり、最新の統計調査によっても人材不足の傾向はより明確になってきています。こうした状況において、より高度な生産性向上と、単純労働から解放することによる従業員のモチベーションの向上とを企業や組織は求められ、その背景においてRPAは特に注目されているのです。

RPAは企業の、特にバックオフィスにて生じる定型業務を自動化するためのロボットソフトウェアです。AIのようにより複雑な判断に対応することはないものの、ルールに従った処理は忠実に実行してくれます。スケジューリングによって実行時間を設定し、自由なタイミングRPAを起動することも可能です。

加えてRPAは離職しません。RPAによって定型業務を自動化すれば、今いる人材の生産性は上がり離職リスクも低くなります。実際に毎月100時間の業務量を削減した事例もあり、多くの企業がRPAによって生産性を飛躍させています。

ExcelマクロやVBAよりもRPAを使った方がいい理由

では、ExcelマクロやVBAよりもRPAを使うと何が良いのでしょうか?その理由をご紹介します。 

理由1.効率化の範囲が圧倒的に違う

先述したようにRPAとマクロやVBAのカバー領域は大きく違います。RPAがパソコン上の操作すべてなのに対し、VBAによるマクロはOfficeアプリケーションやドキュメント内での操作に限定されます。Webアプリケーションの利用領域が増えている現在、RPAを使用しないと業務全体の自動化が実現できず、結局非効率な手作業の業務が残ってしまうことが多いのが現実です。

理由2.マクロやVBAの技術を持つ人は少ない

マクロやVBAは、ITスキルが少ない人が簡単に活用できるソフトウェアではありません。VBAは実行環境などは簡易ですが、実際にはVB(Visual Basic)と同様の文法に従って記述しなければいけないプログラム言語です。ある程度のプログラミングスキルが要求されます。しかし、そうした知識や技術を持つ人はユーザー部門では特に少なく、業務に近い人が使いこなすにはハードルが高い面があります。

また、マクロを作っていた人がやめてしまうとだれもメンテナンスできなくなってしまうという属人性の高さもしばしば問題になります。

それに対してRPAは、製品によっては高いITスキルを持たずともGUI(グラフィカル・ユーザ・インターフェース)で簡単に自動化プログラムを開発できます。製品によっては専門知識や技術が無くては開発できないRPAも存在しますが、開発の容易さは選定の際に確認するポイントとなるでしょう。

ソフトバンクが提供している「SynchRoid(シンクロイド)」は、GUIベースで簡単に業務フローが開発できるRPAです。開発画面と実際の操作画面を同時に表示しつつ開発が行えるので、素早く作れるとともに、修正も容易です。

理由3.非定型業務の効率化できる

RPAで効率化できる業務は、一連の手順に従って行われる「定型業務」という認識が一般的です。たとえばExcelシート上のデータをWebシステムに入力したり、案件情報が記載されたドキュメントに従って関連する審査をしたり、契約書を発行するなどです。さらに一部の手作業を取り入れることで非定型的な作業も効率化できます。

ある事例では毎月10回程度発生する「備品発注業務」をRPAで効率化しています。備品発注業務は発注システムにログインし、担当者が別に管理してある発注リストに従って商品を検索・表示して必要数を購入します。これら一連の作業は非定型的な業務ですが、その業務の中間に備品発注台帳を作成することで、全体をつなげた自動化ができるようになります。

従来では、これらの一連の作業を自動化しようとすると、それぞれのシステムの仕様を確認したり、実行権限などが複雑で断念せざるを得ないケースもありましたが、RPAでは複数のシステムをまたがって自動化が可能になるため、より広範囲の業務を効率化することが可能です。

まとめ

日本の人口減少および少子高齢化は今後も継続し、徐々に労働人口が減少しています。外国人労働者受け入れなど、政府も様々な取り組みを行っているものの、生産性向上の課題は多くの企業で残っています。人材確保や働き方改革のための長時間労働の抑制のためにまず取り組みやすいのは単純作業の圧倒的な効率化です。RPAならこれまで難しかった複数のファイルやアプリケーションをまたがって、多くの業務を効率化してくれるでしょう。

RECOMMEND関連記事


RECENT POST「導入検討」の最新記事


この記事が気に入ったらいいねしよう!