業務効率化にプログラミングを活用した事例と具体的な進め方を紹介

「業務をもっと効率的に進めてたい」と、悩みを抱える方も多いのではないでしょうか?

しかし、最近では経済産業省がDX推進をしている一方で、企業のIT人材が不足していることからなかなか業務効率化が進んでいないのが現状です。そこで重要になるのが、“いかに人手をかけずに業務効率化を実現するか”でしょう。

そこで本記事では、業務効率化にプログラミングを活用した事例を紹介します。具体的な進め方も解説しますので、ぜひ参考にしてください。

PC用の画像
スマホ用の画像

▼業務効率化のメリットや具体的な進め方は下記記事もご参照ください

業務効率化にプログラミングを活用した事例

業務効率化にプログラミングを活用した事例としては、以下の4つがあげられます。

  • スプレッドシートの自動生成
  • 商品の価格調査
  • データの転記作業
  • Webブラウザ操作の自動化

それぞれの事例について、概要と活用されたプログラミング言語をご紹介します。

スプレッドシートの自動生成

スプレッドシートとは、Googleが提供している機能の一つで、Office製品のExcelのような操作が可能な「表計算ソフト」です。

スプレッドシートでは「GAS(Google Apps Script)」の活用で、業務効率化が実現できます。GASは、Googleが提供しているスクリプト言語のことで、Googleが提供しているサービスを操作できることが特徴です。

今回の事例では、GASの活用により、スプレッドシートの自動生成を実現しています。

例えば、企業内で社員の評価を実施するとします。社員は、役職などによって自身の階級が決められており、評価実施時も階級ごとの基準で評価を実施するでしょう。そのとき、社員数が多いほど、一人ずつ評価シートを作るのも大変です。そこで、GASの活用により、プログラムでシートの自動生成が可能なため、作成にかかる工数を大幅に削減できます。

商品の価格調査

商品の価格調査では、プログラミング言語「Python」のスクレイピングを活用します。

Pythonとは、オープンソースのプログラミング言語で、機械学習の分野に活用されることが多いです。スクレイピングとは、Webサイトから情報を抽出する技術です。今回の事例では、商品の価格調査を実施するときに、Pythonのスクレイピング技術を活用します。

例えば、商品の市場価格を調査するために、さまざまなWebサイトを訪れ、朝時点の価格を集計していたとします。手動で実施すると、決められた時間にWebサイトへアクセスしなければならないため、作業工数がかかってしまうでしょう。Pythonのスクレイピングは、対象のWebサイトと欲しい情報を指定することで、テキスト形式でデータを取得できます。毎日決められた時間にプログラムを実行させれば、作業工数を削減できるでしょう。

データの転記作業

データの転記作業では、VBA(Visual Basic for Applications)の活用により、Excelのデータ入力作業を効率化できます。VBAは、Microsoftが提供するOffice製品の作業を効率化できるプログラミング言語です。前述したGASと似たような機能を持ちます。

例えば、あるExcelファイルから他のExcelファイルにデータを転記する作業があったとします。手動で実施する場合は、さまざまなExcelファイルにアクセスし、対象のデータをコピーして転記先にペーストしなければなりません。しかし、VBAの活用により、対象のExcelとコピー元のセル情報、コピー先のセル情報がわかっていれば自動化が可能です。

Webブラウザ操作の自動化

PythonでSeleniumを活用すると、Webブラウザ操作を自動化できます。Seleniumとは、ブラウザ操作を自動化するためのライブラリで、スクレイピングやWebブラウザのテストで活用されるケースが多いです。

例えば、スクレイピングの活用で考えてみます。スクレイピングは、HTMLのタグ指定によってデータを取得できます。しかし、最初にログイン画面を求められたり、ボタンを押すなどの操作をしなければならないときはHTMLタグ指定のみで取得できません。Seleniumは、こうした人間が実施する操作を自動化できるため、スクレイピングと組み合わせれば多くのWebサイトに対応できます。

業務効率化をプログラミングで実現する進め方

業務効率化をプログラムで実現するときは、以下の5ステップで進めるとよいでしょう。

  1. 業務を決める
  2. 自動化の対象となる業務フローを洗い出す
  3. プログラミングに置き換えられる部分を見極める
  4. 業務にフィットしたプログラミング言語で開発する
  5. スケジュール化を検討する

ステップ1:業務を決める

まずは、効率化する業務の選定です。対象は、日次・週次・月次などの定期的に発生する業務や、手順が固定化されているものを選ぶとよいでしょう。

例えば、システムから吐き出されるデータをExcelに転記していたり、週次でバックアップファイルを特定のフォルダへ格納する業務などです。

ステップ2:自動化の対象となる業務フローを洗い出す

対象の業務が決まったら、その業務の流れを洗い出します。

洗い出すときのコツは「何をきっかけに業務がはじまるのか」「最終的なゴールは何になるのか」を細かく書き出すことです。

例えば、Excelの転記作業の場合は、以下の業務フローが考えられます。

  1. 毎朝9時に作業開始
  2. システムから吐き出されたCSVにアクセス
  3. CSVのデータをAフォルダのExcelに転記する

ステップ3:プログラミングに置き換えられる部分を見極める

続いて、業務フローのなかからプログラミングに置き換える部分を見極めます。プログラミングは、人間が考えて判断する業務に置き換えるのが難しいため、すでに処理が決まっている業務を対象にするのがよいでしょう。

もし、前述した業務フローで、吐き出されたCSVの値に応じて処理が変わる場合には、プログラミングには置き換えられません。

ステップ4:業務にフィットしたプログラミング言語で開発する

対象がExcelなのか、Google系のサービスなのかなど、利用するプラットフォームによって適切なプログラミング言語は異なります。Excelの場合にはVBA、スプレッドシートの場合はGASを選択しましょう。

また、実現したい機能によっても変わります。スクレイピングやブラウザ操作を自動化したいときには、Pythonを活用する必要があります。

ステップ5:スケジュール化を検討する

プログラムを作成してからは、定期的に実行させる仕組みを構築し、業務の自動化を実現しましょう。以下は、今回紹介したプログラミング言語を自動化したいときの設定方法です。

GASの場合は、同じエディタ上で設定できるため、複雑な設定をせずに自動化できます。

しかし、VBAの場合は、別途VBSファイルと呼ばれるものを作成し、タスクスケジューラと呼ばれるWindowsOSに標準搭載されている機能で設定しなければなりません。ただし、PythonはVBSファイルが不要なため、タスクスケジュールでPythonファイルを指定すれば設定可能です。

業務効率化をプログラミングで実現できない場合

業務効率化をプログラミングで実施できない場合には、以下の方法も検討しましょう。

  • 業務フローを見直す
  • ITツールの導入
  • ノーコード・ローコードツールの活用

業務フローを見直す

業務効率化を考えるときに、業務フローが複雑でプログラムに置き換えられないケースがあるでしょう。そのときは、全ての業務をプログラムに置き換えるのではなく、業務フローそのものを見直すことも大切です。

普段から業務をこなしていると、今の業務が正解だと思ってしまい、プロセスそのものを見直す発想になりにくいものです。そのため、業務フローを洗い出す工程で、そもそも必要な業務なのかを判断するとよいでしょう。

ITツールの導入

利用する人数が多く、企業のなかでも重要性の高い業務については、ITツールの導入も検討することがおすすめです。

昨今は、さまざまなITツールが登場しており、クラウドを活用したものも数多くあります。そのなかでも、営業活動を効率化させるCRM、企業の資産を管理する資産管理ツールなどは、テレワークにおけるセキュリティ対策や業務効率化につながります。

▼業務効率化におすすめのツールは下記記事で詳しくご紹介していますので、ご参考にしてください

ノーコード・ローコードツールの活用

「ノーコード」「ローコード」とは、一からプログラミングをする必要がなく、処理を組み合わせてプログラムを構築する仕組みです。プログラミングは、専門的な知識を必要とするため、企業にIT人材がいないと活用が難しいでしょう。しかし、ノーコードやローコードであれば、専門的な知識がなくてもプログラミングを実施できます。

ノーコード・ローコードツールの例としては、Microsoftの「Power Automate」やGoogleの「AppSheet」が有名です。

▼また、業務効率化には事務作業を自動化できる「RPA」の導入もおすすめです。詳しくは下記記事を参考にしてください

まとめ

今回は、業務効率化にプログラミングを活用した事例や具体的な進め方を解説しました。

プログラミングを活用することで、普段の業務を効率的にこなしていけるでしょう。業務効率化を実現できれば、データ分析や新たな領域への挑戦など、他に優先度が高い業務に時間を使っていけます。

「普段の業務を効率化させたい」と考えている方は、今回の記事を参考に、プログラミングによる業務効率化を進めてみましょう。

TimeCrowdに戻る