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ですね。

RPA例題2

この作業を明確に指定してあげる必要があります。

A2にあるセルの値を、Webブラウザ上の顧客No.の欄に貼る。

B2にあるセルの値を、Webブラウザ上の苗字の欄に貼る。

C2にあるセルの値を、Webブラウザ上の名前の欄に貼る。

・・・

これを必要な回数だけ繰り返し行うことをRPAに事前登録する必要があります。

実際のプログラミングでもそうですが、結構こまごまとした作業でロボットは成り立っているのですね。

 

勘の鋭い人であれば、ここで疑問点が出てきたかもしれません。

「もし、元帳にデータミスがあり、B2のセルにフルネーム(田中太郎)が入り、C2が空欄だったらどうなるの?」

例題3

 

残念ながら、そのままWebブラウザ上に貼り付けられます。

また、

「Webブラウザ側の画面表示をリニューアルして、該当の空欄がなくなっていたら?」

その時は、RPAがエラーで止まります。

つまり、RPAは「明確に定義できる動作しか、反復操作してくれない」ということです。

逆に言えば、「規則正しい反復操作であれば、いくらでも正確に繰り返し」てくれます。

 

 

もう少し詳しくみてみましょう。

ちょっと発展形として、もし元帳となるExcelに空欄行が混ざっていたら?

例題4

本当は事前に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のイメージが掴めたのではないかと思います。

「それが出来るのであれば、こういうことも出来るよね?」というのが、思い描けるようになれば幸いです。