「毎日やっているこの作業を自動化したい」
「Excelへの入力をRPAで何とかできないか」
「毎週同じファイルを作っているので、自動で処理したい」
業務効率化の話をすると、RPAやAI、マクロといったツールの話から始まることがあります。
もちろん、これらは便利なツールです。
ただ、ITの仕事をしていて個人的に感じるのは、
**ツールを決める前に、まず業務そのものを見直した方がよい**
ということです。
人がやっている作業を、そのままロボットにやらせるだけではなく、
「そもそも、この操作は必要なのか」
「人間がやらなければならない部分はどこなのか」
と考えることで、もっとシンプルな自動化ができることがあります。
今回は、私が業務自動化を考えるときに意識している5つのポイントを書いてみます。
## 1.日付やファイル名、本当に人が入力する必要がありますか?
例えば、毎日こんな作業をしているとします。
* 日付を入力する
* ファイルを選択する
* 実行ボタンを押す
* データを取り込む
これをそのままRPAにすると、
「日付を入力して、ファイルを選択して、ボタンを押す」
という操作をロボットにやらせることになります。
でも、ここで一度考えてみます。
**その日付は、人が入力しないと本当に分からないでしょうか。**
ファイルには、
* ファイル名
* 作成日時
* 更新日時
* フォルダに置かれた日時
などの情報があります。
「20260815_sales.csv」のように、ファイル名に日付が入っていることもあります。
そうであれば、
「ファイルが所定のフォルダに入ったら、自動的に日付を判断して処理する」
という仕組みにできます。
そうなると、そもそも実行ボタンすら必要ありません。
自動化では、
**ボタンを自動で押す方法を考える前に、ボタンそのものをなくせないか考える**
という視点が大切だと思っています。
## 2.全部を自動化しようとしない
業務自動化を考えるとき、
「この業務を全部自動化できますか?」
という話になることがあります。
ただ、実際の仕事はそんなに単純ではありません。
例えば、
データを取り込む。
マスタと照合する。
不足している情報を抽出する。
不足情報を補う。
最終データを作成する。
担当者が確認する。
お客さまへ送る。
こうした複数の工程があるとします。
このすべてを無人化しようとすると、かなり難しくなります。
そこで私は逆に、
**「人間が必要なところはどこか」**
を探します。
例えば、
* データ取得 → 自動
* データ取込 → 自動
* マスタ照合 → 自動
* 不足情報抽出 → 自動
* 不足情報の判断 → 人
* 最終データ作成 → 自動
* 最終確認 → 人
* 配信 → 自動
という形です。
つまり、人間が必要なのは、
**「判断」と「確認」だけ**
かもしれません。
業務自動化は、必ずしも100%無人にする必要はありません。
人がやる必要のない作業を減らして、
**人にしかできない仕事だけを残す。**
これだけでも、かなり大きな効率化になります。
## 3.人には「作業」ではなく「判断」をしてもらう
例えば、毎週届くデータを加工して、担当者が内容を確認してからお客さまへ送る業務があるとします。
従来は、
メールからファイルを保存する。
Excelを開く。
データを加工する。
加工したファイルを保存する。
担当者へメールする。
担当者が確認する。
別のシステムへ登録する。
お客さまへ送信する。
といった作業をしているかもしれません。
でも、本当に人間が必要なのは、
**「この内容を送ってよいか」**
という判断だけではないでしょうか。
そうであれば、
データ取得は自動。
加工も自動。
処理が終わったら担当者へ、
「確認してください」
と通知する。
担当者が内容を確認して「OK」を出したら、その後の配信処理を自動で行う。
という形にできます。
人が行うのは、
**確認して、判断することだけ。**
これから生成AIが業務に入ってくるほど、この考え方は重要になると思います。
AIやシステムに全部任せるのではなく、
**作業はシステム、責任を伴う判断は人間**
という役割分担です。
## 4.「毎週○曜日」だけではなく、処理の状態を管理する
自動化では、定期実行もよく使います。
例えば、
毎週金曜日に週次処理。
毎月末に月次処理。
ところが月末が金曜日だった場合、2つの処理が重なるかもしれません。
時間をずらせば済むこともあります。
ただ、より安定させるなら、
「何時に動かすか」
だけではなく、
**「今、そのデータがどんな状態なのか」**
を管理します。
例えば、
* データ未取得
* データ取得済
* 加工中
* 加工済
* 確認待ち
* 承認済
* 配信済
* エラー
という状態です。
こうしておけば、
「既に処理中なので、もう一度実行しない」
「月次処理が終わっているので、週次処理は行わない」
「確認待ちなので配信しない」
といった判断をシステム側でできます。
単純な定期実行だけではなく、
**業務の進み具合そのものをシステムに管理させる**
という考え方です。
## 5.RPAは、1回失敗しただけで人を呼ばない
RPAは、人間の代わりにWeb画面やアプリケーションを操作してくれます。
ただし、画面操作なので、
* Webページの表示が少し遅い
* ネットワークが一時的に遅い
* ボタンがまだ表示されていない
* 一時的な通信エラーが発生した
といったことがあります。
そこで、
「1回失敗したら停止して担当者へ連絡」
という仕組みにしてしまうと、人間が頻繁に呼ばれることになります。
個人的には、
1回失敗したら、
スクリーンショットを保存する。
エラー内容をログに残す。
少し待つ。
もう一度実行する。
それでも失敗したら、また実行する。
そして、
**3回や5回連続して失敗したときに初めて担当者へ通知する**
くらいの設計がよいと思っています。
そうすれば、一時的な通信遅延程度で人が対応する必要はありません。
自動化では、正常に動いているときだけではなく、
**失敗したときにどうするか**
まで考えておくことが重要です。
## RPAだけが自動化ではない
業務自動化というと、RPAを思い浮かべる方も多いと思います。
しかし、実際にはいろいろな方法があります。
例えば、
ファイルが届いたら処理したいのであれば、ファイル監視。
決まった時間に集計したいのであれば、定期処理。
システム同士をつなぎたいのであれば、API。
Excel内で完結するならVBA。
Google Workspace中心ならGoogle Apps Script。
画面操作しか方法がなければRPA。
文章の分類や下書きなら生成AI。
という選択肢があります。
大切なのは、
**最初に「RPAを使う」と決めないこと**
だと思います。
業務を見てから、その仕事に一番合った方法を選ぶ。
その方が、シンプルで壊れにくく、運用もしやすい仕組みになります。
## 業務を6つに分けると、自動化しやすい
自動化したい仕事があったら、一度、
**入力 → 判断 → 処理 → 確認 → 出力 → 異常時**
に分けてみると分かりやすくなります。
そして、一つずつ、
「これは人間がやる必要があるか?」
と考えてみます。
例えば、
日付入力は自動化できる。
データ加工も自動化できる。
お客さまへ送ってよいかという判断は人に残す。
送信そのものは自動化できる。
エラー時の再実行も自動化できる。
こうして分けていくと、
最初は「全部人がやっている業務」だったものが、
実は人間が必要なのは1か所、2か所だけだった、
ということもあります。
## 自動化は「人の操作を再現すること」ではない
私自身、業務自動化で大切なのは、
**人の操作をそのままコンピューターに再現させることではない**
と思っています。
むしろ、
**人がやらなくてもいい作業を見つけて、システムに任せること。**
そして、
**人間には判断が必要なところだけをお願いすること。**
これが、長く使える業務自動化につながります。
RPAが適しているならRPAを使う。
Excelで済むならExcelを使う。
Google Apps Scriptで済むならGASを使う。
APIが使えるならAPIを使う。
最近では生成AIを組み合わせることもできます。
ツールありきではなく、まず業務を見る。
「毎日やっているから仕方がない」
と思っている作業ほど、一度分解してみると、自動化できるところが見つかるかもしれません。