RPAツールとExcelで利用できるマクロはPC上の操作を自動化させることができる点は共通しています。
しかしこれらは違う技術を利用した仕組みであり、できることにも違いがあります。
この記事では、RPAとマクロ、それぞれの違いを徹底比較。
業務効率化の観点から、どちらを活用するべきかについてその判断基準や活用方法、活用事例をご紹介します。
業務自動化をお考えの方はぜひ参考にしてみてください。
株式会社MICHIRU 取締役
この記事の監修担当者:
相馬 章人
2014年に医療・ヘルスケアITベンチャー企業に入社。人工知能やIoT技術を使用したプロダクト開発およびプロジェクトマネジメントを経験。2018年フリーランスのソフトウェアエンジニアとして企業・大学と連携し機械学習を用いた自然言語解析を行うプロジェクトに参画。2018年より株式会社MICHIRUに参画。主にカスタマーサクセスを担当。
RPAツールとは?
RPAは、Robotic Process Automationのことで、RPAツールとは、ロボットを使った業務の自動化を行うアプリケーションソフトウェアです。
RPAツールの特徴
ロボティクス技術を使った業務の自動化ができるソフトウェア=RPAツールですが、基本的にPC上の操作はシナリオという一連の動きをロボットに覚えさせます。
シナリオが指示する作業を自動でロボットに実行させられるため、業務の自動化が可能です。
シナリオとは、一連の動きを記述した簡易なビジュアルプログラムのこと。
シナリオの指令通りに自動でロボットが動くこととなります。
定型的業務を大量に繰り返し行うことができるので、人間の作業時間の短縮をはかることが可能。
業務の効率化には効果が絶大です。
大企業を中心にWinActorやUiPathといった著名な製品の導入が進んでおり、中小企業にも導入企業が増えています。
RPAツールのメリット
RPAツールのメリットは、シナリオさえ作成すれば、大量の業務を反復して何時間でも行うことができること。
マクロの場合、基本的にはExcelで完結する作業のみの自動化が可能なので、アプリケーションを切り替えたい場合は対応できないことが多くなります。
さらに、RPAのほうが操作が簡単なため非エンジニアも容易に利用することが可能です。
近年のRPAは画像で認識したPCのデスクトップ上のデータをもとに動作します。
シナリオは、RPAにある画像を検索させて、そこでの操作を行わせるものです。プログラムを書く必要はなく、非常に簡単な操作でシナリオを作成できます。
RPAツールのデメリット
デメリットは実行速度が比較的遅いことです。
画像認識技術を使う場合、画像の検索やアプリケーションの活性化などを行う必要があるため、処理量が多く時間がかかります。
Excelで完結する数値の書換程度であればマクロの方が速く完了することができます。
マクロとは?
マクロとは処理手順をプログラミング言語で記述したものです。
MicrosoftOffice、なかでもExcelで利用します。
集計・読み込み・並べ替えなど、オフィスで行う作業をマクロで処理することは日常的に見られます。
マクロの特徴
主にExcelで使われる自動化ツールであるマクロの機能の本質は、自動で関数を適用し、「数値の変換」を行うことです。
これをVBAという言語で行います。
VBA(Visual Basic Application)は、Microsoft Office製品の拡張機能・またはプログラミング言語を指しています。
このVBAというプログラミング言語で記述し、自動化を行うのがマクロです。
自動化はマクロもプログラムですので可能なことですが、ExcelVBAプログラミングを必須としているため、難易度はRPAツールより高くなります。
マクロのメリット
プログラミング知識があれば、数値の変換を一気に行う作業、抽出して、転写する作業などにはRPAよりも効率が良い作業もあります。
数千、という単位のデータおよび作業量であれば、Excel上で変換処理したほうが速いでしょう。
VBAプログラミングできっちり変換処理をするので、間違いは生じにくく、正確である点もマクロのメリットです。
例えばExcelでデータを管理している場合、Excelだけにデータがとどまっているのだとすると、マクロで処理したほうが早く、正確に行うことができる作業も多いでしょう。
マクロのデメリット
Excelマクロのデメリットは、難易度が高いということ。
Excel上マクロを使いこなし、自動化を行うには、VBAの知識が必要です。
しかし、このVBAは、誰もが習得できるというほど難易度が低くはありません。
習得する時間がない場合は、RPAで作業を進めたほうが効率的な場合もあるでしょう。
また、Excel以外のアプリケーションも含めて業務を自動化しようとする場合、対応できないことが多いことにも注意が必要です。
複数のアプリケーションをまたがって業務を自動化する場合は、RPAを使用するほうが効率がよいでしょう。
RPAツールとマクロを徹底比較!共通点と相違点
ここまでRPAツールとマクロの特徴について解説してきました。
ここではRPAツールとマクロの共通点と相違点についてまとめて比較していきましょう。
共通点はこの3つ
RPAツールとマクロの共通点は以下の3点です。
- 非定型作業が不得意
- ヒューマンエラーを防止できる
- 定期的なメンテナンスが必要
それぞれについて詳しく解説します。
非定型作業が不得意
RPAとマクロは、どちらも定型作業を自動化することは得意ですが、非定型作業を自動化することは苦手です。
これはあくまで作業手順が決まっているものを、その手順どおりに実行、反復することによって自動化するため。
ただしRPAについては、AIと組み合わせることで、一部の非定型作業にも対応できる併用型のツールも開発されています。
ヒューマンエラーを防止できる
RPAとマクロは、人間が手動で行うと手間と時間のかかるような作業を、人間がやるよりも速いスピードで正確に処理することができます。
人間であれば疲れや集中力の低下が原因で作業を間違えてしまうことがありますが、RPAやマクロにはそういったヒューマンエラーがありません。
決められた作業を人間よりも早く確実に実行することができます。
定期的なメンテナンスが必要
RPAとマクロは、最初に設定したとおり作業を自動的に繰り返し実行できますが、その作業に関わるアプリやシステムがバージョンアップなどで仕様が変わった際には、エラーを起こして再設定のためのメンテナンスが必要になることがあります。
そのため、両者とも導入の際には後からメンテナンスしやすい状態にし、担当者が変わる場合には、きちんと引き継ぎをするようにしておきましょう。
相違点はこの4つ
RPAツールとマクロの違いは以下の4点です。
- 自動化できる対応範囲
- プログラミングの知識の要否
- 処理可能なデータの量
- 導入方法やコスト
それぞれについて詳しく解説します。
自動化できる対応範囲
RPAもマクロも定型作業を自動化するものですが、自動化できる業務領域に違いがあります。
ExcelマクロはExcel上での作業を自動化するものであり、VBAを駆使しても、自動化できるのはMicrosoft社のアプリを使った作業に限られます。
一方で、RPAはその種類によってできることの範囲は異なるが、Officeアプリを含めて、さまざまなアプリやシステムを使った作業を自動化することができます。
そのため、RPAが自動化できるのはOfficeでの作業に限定されません。
Webサイトから複数のデータをダウンロードし、そのデータでExcel上でグラフを作成し、さらにそのExcelをチャットツールで複数名に送付するというような、複数のアプリやシステムを横断して行う作業も、RPAを活用することで自動化することできます。
プログラミングの知識の要否
RPAもマクロも作業を自動化するためには、どんな動作を実行するのかを最初に人間が指定しておく必要があります。
ここまで述べてきたように、マクロではVBAというプログラミング言語でコードを書くことによって動作を指定し、作業を自動化することができます。そのため、マクロを扱うにはVBAの知識が必須です。
一方で、RPAはツールの種類にもよりますが、テンプレートがあったり、管理画面上で自動化したい作業を人間が一度実践することで、その作業手順をシナリオ化して設定してくれるものもあるので、プログラミングの知識がなくても使用できます。
ただしRPAの場合でも、より複雑な作業を自動化したり、トラブル時の対応やメンテンナンスをしたりする際には、プログラミングに関する知識があったほうが良いでしょう。
処理可能なデータの量
Excelマクロで作業を行う場合、その処理能力はExcelを使用するパソコン本体のスペックに依存します。
そのためパソコンのスペックが低い場合には、一度に大量のデータを扱うような作業をマクロで実行しようとすると、動作が遅くなったり、処理しきれずにパソコンが止まってしまうことがあります。
RPAの中でも、デスクトップ型RPAはパソコンにRPAをインストールするため、マクロ同様に処理能力がパソコンのスペックに依存し、パソコンのスペックが足りない場合は処理しきれないことが発生します。
しかしサーバー型やクラウド型であれば、パソコンのスペックに関係なく、サーバーやクラウド上で大量のデータ処理を高速で行うことができます。
導入方法やコスト
Excelマクロは、Excel自体に元から搭載されている機能のひとつです。
そのため別途ツールやシステムを導入する必要はありません。
Excelさえあればマクロを使って作業を自動化することができ、追加で支払う費用も発生しません。
一方で、RPAはさまざまなツールがベンダーから販売されており、その中からライセンスを購入することになります。
前項で少し触れたように、RPAにはデスクトップ型、サーバー型、クラウド型という種類があります。
RPAを導入するための費用としては、デスクトップ型やクラウド型で数十万円~数百万円、サーバー型で数百万円~が必要になると言われています。
自動化できる業務の範囲が広いため、それなりにコストはかかると考えておいた方が良いでしょう。
どちらを選ぶべき?迷った場合の判断基準はこれ
RPAツールとマクロ、双方とも業務を自動化することができる点では同じですが、双方で向いている作業・違いがあります。
こうした違いを理解したうえで、どちらが得意な作業なのか、比較して使い分けるべきです。
ここではそれぞれに向いている作業を解説。
また、併用や連携の事例も紹介しているので、どちらを導入するべきかでお悩みのかたはぜひ参考にしてみてください。
RPAが向いている作業
既存システムと連携させたい場合には、マクロではなく、RPAを活用しましょう。
RPAであれば、財務会計システムや生産管理システム、販売管理システムといったさまざまな業務支援システムとの連携が可能です。
また、マクロではパワー不足になるような大量のデータ処理をする際も、クラウド型やサーバー型のRPAを活用することで対応することができます。
特に金融業界や小売業界のように、顧客データや売上データといった大量のデータを扱う事務業務が多い場合にはRPAの導入を推奨します。
社内にプログラム知識を持った人材が少ない場合にも、マクロよりもRPAを活用するほうがよいでしょう。
マクロないしVBAを利用することが向いている作業
RPAとマクロの違いとして紹介したとおり、ExcelマクロはExcelに元から備わっている機能です。
そのため、すでにExcelを利用しているのであれば、導入するためのコストがかかりません。
導入や開発のためのコストをかけずに定形作業を自動化したい場合には、マクロを活用してみましょう。
たとえば、フォーマットの決まっている請求書であれば、Excelの売上管理表などから顧客別に、毎月請求書を自動作成することができます。
また、マクロでも、Excelの範囲を超えて、顧客管理表から氏名やメールアドレスといった情報を拾い、定期的にOutlookでお知らせメールを送るといった作業は自動化することが可能です。
日々の売上を自動でグラフ化したり、売上データを拠点別・担当者別などに集計し、一覧表を作成したりなど、マクロはそれほど高速で膨大なデータ処理をする必要がない場面には適しているといえるでしょう。
併用・連携するとこんなことができる
双方の強みの違いを比較すると、長めの複雑な動きを要求される業務であっても、その作業に適した方で行えばいい、と考えることができます。
たとえば、RPAで時間がかかりそうな作業やエラーを起こしてしまいそうな作業は、ExcelVBAのコードを書いて、マクロを使うことでカバーすることも可能です。
ここがRPAとマクロとの違いを活かせるシーンです。
それぞれの強みを理解し、連携させることで、より楽に正確に業務を進めることができます。
併用・連携事例
例えば以下のような事例では双方の強みが活かせると思われます。
- Excelマクロで作成したシートに、RPAで入力作業を行わせる
- Excelマクロで計算した結果を、RPAでチャットに送信する
- RPAで基幹システムから情報をコピーしExcelファイルに貼り付け、マクロで計算した結果を、さらにRPAで別のシステムに入力する
併用及び連携の方法・実際にはこうする
RPAを使えばExcel上の操作も自動化することができます。
しかし、Excel上の操作においては、Excelに特化したExcelマクロを使用する方が効率的です。
そのため、RPAとマクロの領域をしっかりと区別して、それぞれの場面に適したツールを使うようにしましょう。
たとえば、社内の基幹システムとExcelを使用した業務の自動化などにおいては、基幹システムの操作はRPA、Excelの操作はマクロで実行するなど、両者をうまく組み合わせて使うのがおすすめです。
記事まとめ
以上の通り、RPAツールと、マクロは違う技術を使っており、それぞれの強みがあります。
RPAツールは、PC上で行う定型業務ならば、ほぼすべてを自動化することができます。
基本はこちらを業務に利用し、マクロが強い処理、例えばワンクリックで数値を変換できることを利用した処理・Outlookでのメール送信などを組み合わせて利用することで、より多くの作業を2つの技術で自動化することができます。
VBAプログラミングをすでに習得している方には技術的にもそれほど困難なことではありませんので、ぜひRPAのシナリオ開発や自動化のアイディアを広げるために、この記事をご活用ください。