概要
本記事ではSpread Sheetsから抽出したデータをPythonで加工しSlidesに転記するユースケースを例に、実際にGoogle APIとPythonを組み合わせるとどんなことが自動化できるのかの一例を説明します。
※Spread SheetsはGoogle版Excel、SlidesはGoogle版Power Pointです
なぜ、Google APIとPythonを使用して自動化をしているかは以下の記事をご参照ください。
Google APIとPythonで低コストRPA -はじめに-
具体的なコードに関しては後続の記事にて記載します。
ユースケース
(概要)
- あなたはあるPJのPMOです。
- PJは3チーム(要件定義/プロトアプリ検証/インフラ検討)から構成されており、各チームのリーダーが日次で各タスクの以下の項目をガントチャート(図1)にて更新します。
- 担当者
- 期限
- 進捗率
- コメント
- 毎週金曜日、PMOであるあなたはガントチャートを読み取り、週次進捗報告資料(図2)にチームごとの以下の項目を転記しPJ全体会議で共有しています。
- チーム名
- 担当者(各チームごとの全担当者)
- 各チームの各タスクの進捗率(%)の平均値
- 各チームで記載されているリスク(記入されていれば)
- あなたは今までこの仕事を全て手動で実施していましたが、タスク量の増加に伴い、工数と転記時のミス軽減を目的としてRPAに取組む必要性が出てきました。
(図1:ガントチャート)

(図2:週次進捗報告資料)

本ユースケースにおける転記プロセスの詳細説明
以下の各項目を転記する各プロセスのロジックは以下の通りです。各項目内の数字(①〜④)は下図にナンバリングしています。
- チーム名
- 灰色のチーム名(Spread Sheets①)を確認し、Slides①に転記
- 担当者(各チームごとのタスクオーナー)
- 各チームごとに記入されている人名(Spreas Sheets②)を確認し、Slides②に重複が無いよう転記
- 各チームの各タスクの進捗率(%)の平均値
- 各チームの進捗率(Spread Sheets③)の合計を項目数で割った値をSlides③に転記
- 各チームで記載されているリスク
- コメントが入力されているところ(Spread Sheets④)を確認し、Slides④に転記
(図3:転記のイメージ)

プロセスを自動化する際のアプローチ
こういったユースケースではGoogle APIとPythonを使用し、以下のプロセスに分解して転記を自動化します。
基本的にはGoogle APIはデータの読み書きのインターフェースに使用し、読み書きとデータ変換の全ての手順はPythonで実施します。
- PythonでSheets APIとSlides APIをCallできるようセットアップする
- PythonでSheets APIをCallし、図1のガントチャートから表データをpythonにすべて抽出する(二重list)
- 前項2.で取得した表データをチームごとにグループ化する
- 自動算出するロジックを作成/利用してデータを変換する
- PythonでSlides APIをCallし、図2の週次進捗資料の"進捗サマリーリスト"の空欄に変換した表データを転記する
最後に
今回は一般的なPJでもルーティンワークとして発生しうる週次進捗報告をユースケースとして定義しました。自動化したプロセスの具体的なロジックは後続の記事にて紹介します。