RPAコラムRPA-COLUMN
【完全版】RPAによる産前産後/育児休業等取得者申出書の自動化
※当コラムは
産前産後/育児休業等取得者申出書をRPAにより自動化①
産前産後/育児休業等取得者申出書をRPAにより自動化②
産前産後/育児休業等取得者申出書をRPAにより自動化③
産前産後/育児休業等取得者申出書をRPAにより自動化④
産前産後/育児休業等取得者申出書をRPAにより自動化⑤
産前産後/育児休業等取得者申出書をRPAにより自動化⑥
産前産後/育児休業等取得者申出書をRPAにより自動化⑦
産前産後/育児休業等取得者申出書をRPAにより自動化⑧
産前産後/育児休業等取得者申出書をRPAにより自動化⑨
産前産後/育児休業等取得者申出書をRPAにより自動化⑩
産前産後/育児休業等取得者申出書をRPAにより自動化⑪
を全てまとめ、ひとつで読める内容となっております。
ロボットの大枠
今回は「産前産後休業取得者申出書変更(終了)届」「育児休業等取得者申出書(新規・延長)終了届」の2種類をRPAにより業務自動化したケースをご紹介させて頂きます。
こちらが「産前産後休業取得者申出書変更(終了)届」をExcelで開いた際に表示されたものになります。
そしてこちらが「育児休業等取得者申出書(新規・延長)終了届」をExcelで開いたものです。
多少の違いはありますが、どちらも似ていますね。
セットで使用することが多いかと思いますし動作内容もほぼ一緒なので、2つ分のロボットをまとめて解説させて頂きます。
こちらのロボットの大枠は
① Excel等から情報を参照し、変数に格納
② 「産前産後休業取得者申出書変更(終了)届」または「育児休業等取得者申出書(新規・延長)終了届」へ、変数に格納した値を入力
③ 入力が終わったら指定のフォルダへ保存
④ 対象の人数分だけ繰り返し
となります。
必要なものはRPA用のExcelシート(入力元)と、上記のExcel(入力先)となります。
「そこまで膨大な作業ではないが、地味に手間がかかるから自動化できるなら助かる」ということで今回ご依頼を頂きました。
現在はこちらの作業、RPAにより完全自動化に成功しております。
今回は全てExcel内で完結する形でご紹介いたしますが、事業者情報や従業員情報等を社労士専用ソフト(社労夢、SmartHR、セルズ、オフィスステーション、給与奉行など)から取得する形で組むことも可能です。
〇をつける動作について
今回のロボット作成の際に、特にこだわったポイントは「RPA用のExcelのフォーマット作成」と「〇をつける動作」です。
RPA用Excelのフォーマット作成については過去のコラムでもご紹介したように、今回のロボットでも必須の内容となります。
今回はこのように、4つのRPA用シートを作成いたしました。
・RPA産休育休リスト
・事業者情報
・産休育休リスト変換
・丸
の4つとなります。
非常に完成度の高いRPA用Excelシートが完成しましたので、細かく解説させて頂きます。
今回ロボットで使用する「RPA用Excelシート」は、いろいろな業務自動化に活用ができる「アイデア」が詰まっております。
理解できた後には「あれもこれも自動化できる」と、いろいろとRPAで組めるイメージを持って頂けるのではないかと感じております。
これより、細かく解説させて頂きます。
まずは、「〇をつける動作」について解説させて頂きます。
入力先である下記のこちらの項目
に、〇をつける項目があります。
〇の図形を作って、このように貼り付けることにしました。
RPA用のシートに「丸」という、図形だけが入ったシートを下記のように用意してあります。
こちらの「〇の図形」をコピーして、入力先にペーストするという動作です。
しかし、このまま対象のセルを選択してペースト(ctrl+V)をすると、このようにセルの左上の端にきてしまいます。
ですので、例えば被保険者生年月日の項目の場合、〇をペーストした状態(選択している状態)で、キー操作「→、↓」を押すことによって移動させる流れにしました。
「入力元が昭和の場合は、→を※回押してから、↓を※回押す」
「入力元が平成の場合は、→を※回押してから、↓を※回押す」
「入力元が令和の場合は、→を※回押してから、↓を※回押す」
という条件分岐により実現が可能となりました。
しかし「非常に時間がかかる」という点が気になりました。
というのも、→を1回、↓を1回、それぞれ1回押す動作だと、ほんの僅かしか〇が移動してくれません。
これでは繰り返し回数が30回、40回と、大量に必要になってしまいます。
もっと早く処理できないかと考えたところ、解決策がありました。
RPA機能内(RPAソリューションズ:EzRobotを使用)にて、「キー操作」の作業対象画面はこのようになっています。
こちらの指示は「↓のキーを、15回、0.1秒毎に押す」という指示です。
作業対象画面内の「1操作ごとの待機時間」という箇所を「0.0」に指定しました。
こちらのようになりました。こちらの指示は
「↓のキーを、15回、0.0秒毎に押す」という指示です。
つまり人が行う「長押し」と同等の効果がありました。
こちらにより、〇をつける作業時間が大幅に減少された形で実現可能となりました。
用途としては
① 人が入力する用のシート(従業員情報)
② 人が入力する用のシート(事業者情報)
③ ①をRPA用に変換するシート
④ 〇の図形が入ったシート
の4つを用意しております。
「④ 〇の図形が入ったシート」の使い方に関しては先ほど解説させて頂きましたので、今回は別シートの解説になります。
シートについて
① 人が入力する用のシート(従業員情報)
産前産後の申請、育児休業の申請、どちらにも対応できるシートとなっております。
横に長いので、2枚の画像にわけて添付します。
2.3行目は入力例として記載してあります。
実際に使用するのは5行目以降です。
1行目には「入力した箇所が、産前産後/育児休業等取得者申出書内のどの箇所に反映されるか」を記載しております。
今回は「既にExcel内に情報が入力済である」という状態でロボットを動かすことを前提に組みましたが
Excelではなく、社労士専用ソフト(社労夢、SmartHR、セルズ、オフィスステーション、給与奉行など)から値を取得することも可能です。
下記画像のように入力内容が決まっている項目に関しては、プルダウン式で選択できるように作成いたしました。
② 人が入力する用のシート(事業者情報)
こちらは事業者情報になります。
今回ご依頼を頂いた社労士様の要望が「ひとつの事業者で良い」ということでしたので予め入力しておく形で上記のように作成しましたが、複数の事業者別に作成することも可能です。
こちらも①と同様にExcelである必要はなく、社労士専用ソフトから値を取得することも可能です。
上記の画像についてですが、人が普段使用するものですと、A1~H1のセルを結合して見やすくする方が多いのではないかと思います。
1行目の項目が全て細かく分かれているのは、RPAの仕様に合わせるためです。
ロボットの動きとしては
「Excel内の情報を変数に格納→入力先に値を貼付け」
という動きになるのですが、「変数に格納」という動作を行う際に
「データ取込(リスト一括取り込み)」という機能を使用します。
リスト一括取り込みを使う際、RPA(EzRobot)では
「1行目を変数名として使用する」
という機能があります。
つまり、A1~H1のセルを結合してしまうとひとつひとつのデータを認識することができなくなってしまう為、違う名前(変数名)を入力してロボットが判別できる仕組みにしております。
A1は下記画像のように「事業者整理記号1」
B1は下記画像のように「事業者整理記号2」
C1は下記画像のように「事業者整理記号3」
と、ひとつひとつに番号を振っています。
同様に、郵便番号に関しても
I1は「事業所郵便番号1」
J1は「事業所郵便番号2」
上記画像の範囲内ですと
・事業者整理記号
・事業者所在地の郵便番号
・事業者所在地の電話番号
・個人番号(基礎年金番号)
・被保険者氏名
・被保険者生年月日
・出産予定年月日
と、ほとんどの項目がひとつひとつに分かれています。
こちらの考え方、処理方法としては【完全版】雇用保険被保険者資格取得届の作成を自動化でご紹介した内容と、同様の考え方になります。
「② 人が入力する用のシート(事業者情報)」に関しては、入力する機会がそもそも少ない(一度入力してしまえばそれで済む)内容なので、最初からRPA用の形式で入力する形にしました。
しかし、従業員情報に関しては対象者によって毎回内容が勿論違う(名前も生年月日も)ので、RPA用に細かく入力していると手間がかかってしまいます。
業務自動化(業務効率化)が本来の目的なので、作業する方の負担を最大限に減らした形にしたいです。
その為に存在しているのが、
③ ①をRPA用に変換するシート
・2年
・9月
・1日
ちなみに「既に社労士専用ソフト内に情報があるからわざわざExcel内に貼り付けたくない」と感じた方もご安心ください。
その場合には
・ロボットによって社労士専用ソフト内から値を取得
・Excelに貼付け~入力先に合わせた形に分解~
・入力先へ貼付け
という流れで自動化が可能です。
社労士専用ソフト内でも、生年月日等の日付、基礎年金番号等の情報はまとまって入っているかと思います。
その情報を、産前産後/育児休業等取得者申出書のフォーマットの形に合わせて分解しないといけないので、いずれにせよロボット動作内でExcelには一度入力する必要がございます。
では「どのようにしてRPA用のシートを作成していくか」という内容になります。
人間が入力していく日付等のシートはこちらのようになっています(社労士専用ソフトから日付を取得することも可能)
しかし、入力したい先(産前産後/育児休業等取得者申出書)は、下記画像のように、セルごとにバラバラになっています。
産前産後/育児休業等取得者申出書の形式に合わせた形に分解できるように作成したものが「RPA用のシート」でして、このような形のシートになります。
例えば「出産予定日」を例に挙げると、人が入力する項目はこのようになっています。
上記をRPA用シートとして分解したものがこちらです。
このように分解していれば、RPA上での動作は
・RPA用シートの情報を変数に格納
・産前産後/育児休業等取得者申出書のExcelに、情報を転記していく
といったシンプルな動作のロボットになり、実際のロボット稼働時間(処理時間)の削減にもなります。
ロボット自体がシンプルになる為にメンテナンスも簡単になり、手間がかかるのは最初だけ(RPA用のExcelシートを作る手間)となります。
実際にどのような関数を使用して分解したか。につきまして
もっと簡単な方法があるかもしれませんが、私が使用した方法は「2回にわけて分割」をしました。
まずはこちらのG,H,I,Jの列です。
元のシートではセル内の形式を「日付」として入力しているので、「日付」として認識が可能です。
Excelを使用している方はご存じかと思いますが、日付の書式記号がこちらになります。
ggg:令和(元号)
e :1〜99(年:和暦)
m :1〜12(月)
d :1〜31(日)
対象シートの日付が入ったセル(今回は、RPA産休育休リストという名前のシートのE2)を参照して、TEXT表示させます。
空白の場合には、何も表示させないようにしました。
使用した関数はこちらの4つ(G,H,I,Jの列)になります。
=IF(RPA産休育休リスト!E2=””,””,TEXT(RPA産休育休リスト!E2,”ggg”))
=IF(RPA産休育休リスト!E2=””,””,TEXT(RPA産休育休リスト!E2,”e”))
=IF(RPA産休育休リスト!E2=””,””,TEXT(RPA産休育休リスト!E2,”m”))
=IF(RPA産休育休リスト!E2=””,””,TEXT(RPA産休育休リスト!E2,”d”))
上記の関数によって表示された値(G,H,I,Jの列)を参照に、更にMOD関数とROUNDDOWN関数を使用して表示させたものがK,L,M,N,O,Pの列です。
=IF(H2=””,””,MOD(ROUNDDOWN(H2/10,0),10))
=IF(H2=””,””,MOD(H2,10))
=IF(I2=””,””,MOD(ROUNDDOWN(I2/10,0),10))
=IF(I2=””,””,MOD(I2,10))
=IF(J2=””,””,MOD(ROUNDDOWN(J2/10,0),10))
=IF(J2=””,””,MOD(J2,10))
となります。
出産種別の項目は、そのまま参照するだけなので
=RPA産休育休リスト!F2&””
としました。
変数の一括格納機能を使用したいため、ついでに同じシートに表示させたいという意図で入力しました。
そして、こちらの画像のようなセルが完成します。
ここまでの工程により
G2(令和)
K2(0)
L2(1)
M2(0)
N2(9)
O2(0)
P2(1)
と、1つのセルにまとまった情報を分けることができました。
日付関連のものは同じ要領で作成していけば良いので、
・出産予定日
・産前産後休業開始予定日
・産前産後休業終了予定日
・出産日
・変更後出産予定日
・変更後産前産後休業開始日
・変更後産前産後休業終了予定日
・産前産後休業終了日
・養育開始年月日(実子以外)
・育児休業等開始日
・育児休業等終了予定日
・延長育児休業等終了予定日
・育児休業等終了日
などの日付関連の箇所は全てクリアとなります。
こちらは、別の業務を自動化する際にも応用できるのではないでしょうか。
生年月日や申請日などの日付を入力する際に「転記元と転記先の形式が違う(そのままコピー&ペーストできない)」といった際に、今回のケースのような発想で解決が可能です。
続いて「基礎年金番号」です。
基礎年金番号については、今回は予めExcel内に入力しておくのではなく「RPAの動作中に社労士専用ソフトから値を取得したい」というご依頼でした。
社労士専用ソフトを開いて、対象者の基礎年金番号の値を取得した後、Excelにペーストする
という動作をRPA上で行っています。
その為、ペースト先はRPA用シートにしましたが、こちらも分解が必要です。
基礎年金番号は「1234-567890」のように4桁と6桁の組み合わせによるものでして、今回使用した社労士専用ソフトでは4桁と6桁が予め分かれていました。
RPA上の動作で
・社労士専用ソフトを開く
・対象者の情報の項目へ行く
・基礎年金番号の値を変数に格納
・RPA用シートのExcelに貼付け
という動作を挟む必要がありますが、こちらの手順は社労士専用ソフトによってそれぞれ仕様が違いますので、詳細は省略させて頂きます。
「C列」に4桁、「D列」に6桁の基礎年金番号の値をペーストするように、こちらの画像のように項目を作成しています。
上記の情報のままでは、他の項目と同様にそのままペーストすることはできません。
このように項目が分かれている為、1つ1つの値に分解する必要があります。
こちらの分解方法は、日付の際に使用したMOD関数とROUNDDOWN関数により、下記のような関数になりました。
今回は2行目の値を参照する形となっております。
=IF(C2=””,””,MOD(ROUNDDOWN(C2/1000,0),10))
=IF(C2=””,””,MOD(ROUNDDOWN(C2/100,0),10))
=IF(C2=””,””,MOD(ROUNDDOWN(C2/10,0),10))
=IF(C2=””,””,MOD(ROUNDDOWN(C2/1,0),10))
=IF(D2=””,””,MOD(ROUNDDOWN(D2/100000,0),10))
=IF(D2=””,””,MOD(ROUNDDOWN(D2/10000,0),10))
=IF(D2=””,””,MOD(ROUNDDOWN(D2/1000,0),10))
=IF(D2=””,””,MOD(ROUNDDOWN(D2/100,0),10))
=IF(D2=””,””,MOD(ROUNDDOWN(D2/10,0),10))
=IF(D2=””,””,MOD(ROUNDDOWN(D2/1,0),10))
上記の関数を使用することにより、このような形で分解ができました。
この工程により基礎年金番号に関しても無事に分解できたので
入力先Excel(産前産後/育児休業等取得者申出書)の②の項目に、そのままペーストできる形が整いました。
ここまでの内容の応用により、RPA用シートの作成はほぼ全て完成となります。
続いて、最後のひとつ「氏名」について解説させて頂きます。
産前産後/育児休業等取得者申出書だけでなく、いろいろなシーンで入力することの多い「氏名」ですが、「姓」と「名」を別々に入力するケースも多々あります。
RPA上で考えると、転記元(今回で言えばRPA用シート)が「姓」と「名」で分かれていればそのまま変数に格納するだけで良いのですが
ひとつになっている場合には、どのようにして「姓」と「名」を判別すれば良いでしょうか?
田中太郎
という名前があったとして、人が見た場合は今までの経験則に基づいて
田中 太郎
という「姓」と「名」の判別ができますが、もしかしたら
田中太 朗
田 中太郎
という氏名かもしれません。
「姓」も「名」も、どちらも文字数にルールはありませんし、このままではRPA上で正確な判定をするのは不可能に思えます。
ということで今回は
・「姓」と「名」の間に空白を入れる
というルールを、人が入力する段階で設けて頂くことにしました。
スペースで判定することができれば、Excelの関数で分けることが可能です。
こちらの被保険者氏名の項目を、下記の関数を使用すると、それぞれ
=IF(A4=””,””,LEFT(A4, FIND(“ ”, A4)-1))
=IF(A4=””,””,RIGHT(A4, LEN(A4)-FIND(“ ”, A4)))
このように分けることができました。
ここまでの作業により、産前産後/育児休業等取得者申出書に入力する為のデータはExcel上で整理することができたので、後はRPA上では転記していくだけの作業で済みます。
こちらの動画でご紹介するロボットは勘定奉行を使用したものになりますが、それぞれの社労士事務所様の形式に合わせた仕様でカスタマイズ可能です。
実際にご覧になって「うちの事務所ならもっとこうした動きにしたい」「うちのやり方とは違う」と感じる点も多々あるかと思いますが、RPAの組み方を少し変えるだけで自由な動作が可能になりますのでご安心ください。
このように、RPAではPC上で行う様々な業務を自動化することが可能となっております。
RPAは「人が考える作業はできない」「単純な作業しかできない」という点も確かに間違いではありませんが、「どのようにしてルール化するか」というロボット作成者の発想力次第ではとても可能性の広がるツールです。
当コラムによって「RPAができる範囲」のイメージが少しでも広がって頂けましたら幸いです。