RPA(Robotic Process Automation)という単語は聞いたことがあるという人が増えてきました。
でも具体的にどういったものなのか?を理解している人は、かなり少ないのも事実です。
さて、今回の記事では、そもそもRPAは何がどこまで出来るツールなの?ということを主題に語ってみたいと思います。
まずRPAをざっくり定義すれば、
Windowsの画面上で行う反復操作を代行してくれる「ロボット」と言われるプログラムを作成できるツールです。
ユーザー側としては、RPAツールの画面にあるアイコンを選んで、適当な数字や文字を入れて、パズルのように組み合わせていきます。
その組み合わせが適切であれば、スタートボタン1つで、人間が実際に動かすように、キーボードやマウスの動きを再現してくれるという訳です。
特にRPAが凄いのは、アプリケーションをまたいで自動化できる点なのです。
分かりやすく言えば、皆さんが1画面に「Excel(元帳)」と「Webブラウザ(会社の勘定系データーベースなど)」を開いているとします。
画面の左半分に「Excel」、右半分に「Webブラウザ」。
実際の業務でもよくあるシチュエーションですが、Excelにある値を1つずつ順番に、Webブラウザの空欄に打ち込み、もしくはコピー&ペーストしていくとします。
実際の画面の動きでいえば、Excelで文字を選択してコピー、そしてカーソルを右に持っていき、空欄を選んでペースト。
これを必要回数繰り返す訳ですが、人間がやっていると時間も掛かるし、場合によっては同じものをコピーしてしまうかもしれません。
しかし、RPAで自動化すれば、スピードはもちろん、ミスもゼロになります。
この作業、RPAの基本でありながら、もの凄く特徴を表しています。
実際に上記作業を目的にロボットを作成した場合、具体的な操作を下記に説明します。
1.該当のExcelとWebブラウザを開く。
2.Excelの中にある該当セルを選択し、取得する。
3.Webブラウザの中にある該当空欄を選択し、貼る動作をする。
4.すべて貼り終わったら、Webブラウザにある「登録ボタン」を押して終了。
問題となるのは、上記の2と3ですね。
この作業を明確に指定してあげる必要があります。
A2にあるセルの値を、Webブラウザ上の顧客No.の欄に貼る。
B2にあるセルの値を、Webブラウザ上の苗字の欄に貼る。
C2にあるセルの値を、Webブラウザ上の名前の欄に貼る。
・・・
これを必要な回数だけ繰り返し行うことをRPAに事前登録する必要があります。
実際のプログラミングでもそうですが、結構こまごまとした作業でロボットは成り立っているのですね。
勘の鋭い人であれば、ここで疑問点が出てきたかもしれません。
「もし、元帳にデータミスがあり、B2のセルにフルネーム(田中太郎)が入り、C2が空欄だったらどうなるの?」
残念ながら、そのままWebブラウザ上に貼り付けられます。
また、
「Webブラウザ側の画面表示をリニューアルして、該当の空欄がなくなっていたら?」
その時は、RPAがエラーで止まります。
つまり、RPAは「明確に定義できる動作しか、反復操作してくれない」ということです。
逆に言えば、「規則正しい反復操作であれば、いくらでも正確に繰り返し」てくれます。
もう少し詳しくみてみましょう。
ちょっと発展形として、もし元帳となるExcelに空欄行が混ざっていたら?
本当は事前にExcelを整理できれば良いのですが、諸事情から難しい場合があるかもしれません。
その際にはどういった対応をするか?
答えの1つとしては、「A列」のセル、つまり読み込む最初のセルですね。
ここが空欄だったら、「(何もWebブラウザに貼らずに)Excelの次の列に進む」というルートを作成すれば良いのです。
そうすれば、何事もなかったかのように、RPAの作業は次に進んでいきます。
もちろん、これは一例です。
例えば、Excelの商品の欄が「ホッチキス針」という名前が入っている場合には、期間限定割引として「料金を0.8倍」にするといった使い方も出来ます。
そうやって、ある条件の元では違う処理をさせるということがRPAには出来るのです。
これを組み合わせることにより、具体的に明示できるものであれば、RPAで自動化できるのです。
ただ、注意点としては、あまりに多くの条件を盛り込むと、ロボット作成の手間と管理が複雑になるので、可能であれば元データの段階で対応しておくなどの工夫をしたいところです。
いかがでしょうか?
最後にもう1つ、イメージを膨らませるために、例を挙げてみましょう。
RPAでとてもニーズのある「交通費申請書のチェック」をするロボット。
従業員の方からは、Excelで作られたひな形があり、それで申請して貰っているとします。
手作業の場合、画面の半分に申請書(Excel)、もう半分はYahoo!の交通ページを開き、申請書上の「乗車駅」と「降車駅」をWebに貼っていきます。
そして、計算された金額と申請された金額を突き合わせて、同額であるかどうかを目視でチェックし、マル印を入れるか、修正金額を入力するといったことを行っていると思います。
ここでのポイントは、RPAでは「Web上の文字も認識できる」ということです。
画面の決まった場所にあるボタンを押したり、表示される文字をコピーするのは、RPAの得意技の1つなのです。
上記の場合、乗車料金をWebからコピーした後、Excelのセルにある「乗車料金」とを照らし合わせる作業を入れ、イコールであれば、Excelのどこかのセルにマルを入れるといったことが可能になります。(別Excelシートにマルを入れることも可能)
凄いですよね!
しかし、RPA想定外のことも事前に設定しておく必要も出てきます。
たとえば、乗車駅名を打ち間違っていた場合には、Webに金額など表示されません。
その場合どうするのか?
(例外処理を設定していなければ)エラーで止まります。
100%のロボットを作るというのは、結構大変なのです。
実際には、テスト運用の中で修正していく流れになりますし、ロボットではなく、その前の業務を見直した方が早い場合もありますね。
どうですか?
だいぶRPAのイメージが掴めたのではないかと思います。
「それが出来るのであれば、こういうことも出来るよね?」というのが、思い描けるようになれば幸いです。