RPAツールを利用しはじめて、結構な年数が経過しました。
しかし、未だに「RPAって何が出来るんですか?」という質問に対して、100%満足のいく答えが出せないもどかしさがあります。
もちろん、一般的な事例をお話することは簡単ですが、質問者さんの期待を上回るような、驚きと満足を与えるような回答って、難しいのえす。
さて、今更ながら「RPA」というのは、Robotic Process Automationの略であり、PC/サーバ上で人間が操作していることを、人間に代わって動かしてくれるというものです。
その自動化のいちプログラムを「(日本でNO.1シェアのRPAソフトWinActorでは)シナリオ」と呼び、他RPAソフトでは「ロボット」などと呼んだりします。(以下、呼び方を「ロボット」に統一します)
その「ロボット」作成ですが、多くのRPAソフトには、レコーディング機能というものが付いており、実際にマウスやキーボードで操作したものを再現してくれるようになっています。
「おぉ! だったら、全ての作業をレコーディングしてしまえば、もう大丈夫だね!」と考えてしまいますが、実はどのRPAソフトでもそれだけでロボットを完成させれるほどの精度も無ければ、プログラムの仕組み上、不可能なのです。
RPAが苦手なこと(その1)
ロボット作成で厄介なこと<その1>は、「途中でルートが3つ以上に分かれる」ケースです。
例えば、表計算ソフトのA1セルに入っているデータが、
「0」の場合には、ルートA。
「1~9」までの場合には、ルートB。
「10以上」は、ルートC。
こういった具合に分かれているとすれば、そのルート分だけ、設定しなくてはいけないのです。
分かれれば分かれるほど、設定の手間が掛かるのはもちろんで、滅多に遭遇しないケースでも、その際の作業を盛り込んでおく必要があります。
上記のケースで言えば、A1セルが「空欄」だった場合の処理とかが、該当しますね。
では、上記ケースにて、もし「空欄」を考慮していなかったら?
その時は、RPAソフト側でエラーとして処理され、ロボットが途中停止します。
ただ、「ルートA」にも「ルートB」にも該当しないものは全て「ルートC」として設定していたら。。。後々面倒なことが起きる可能性が出てきますね(汗
RPAが苦手なこと(その2)
そして、ロボット作成でさらに厄介なことは、「(参照する)値が変則的である」というケース。
ここでいう「値」とは、文字であったり、数字であったりします。
一般的な事務作業として例を挙げれば、「入金による消込作業」が分かりやすいと思います。
素直に手順を考えれば、
①オンラインで口座から入金情報をCSVファイルなどでダウンロードする
②請求書情報をまとめたデータと照合して、値が合致すれば「済み」と入力する
といった作業で完結しそうです。
しかし、現実には「金額」で照合しようとしても、同じ金額の人がいるのはもちろん、
・振込手数料を差し引いて振り込んでくる人
・振込金額自体を間違う人
・期日より遅れて振り込んでくる人
といった方が世の中には一定数いますから、上記のロボットだけでは対応できません。
また、「振込人名義」で参照しようとしても、これまた上記と同じような話で、必ずしも想定した表記とは異なる場合があります。
人がチェックしているのであれば、想像力を働かせて処理できますが、コンピュータは事前に指示されたこと以外はできません。
もし仮に、純粋にRPAだけで処理しようとすれば、想定されるすべてのケースを設定する必要が出てきますから、現実的ではありませんよね。
という訳で、データが一定ではなく、例外処理が多い作業はRPAの苦手分野なのです。
もちろん、それを考慮した上で、最終的には目視にてチェックするという体制を組むことで、人が介在する作業を減らすことを目的にRPAを導入するというのは可能です。