はじめに
イーストではチームスピリットのレポートを使って部署の売上などを管理しています。
レポートの一部は、別途管理している数字と関連づけるために手動でExcelへ転記していますが、転記のタイミングが月に1回のためリアルタイムの情報を反映できていませんでした。
しかし、毎日手動で転記するの手間が掛かります。
そこで、レポートを毎日メールで受信するようにし、受信したレポートの内容を自動転記するためのPower AutomateとOffice スクリプトを作成しました。
本記事では、作成したPower AutomateとOffice スクリプトについて紹介いたします。
※紹介するExcel、Power Automate、Office スクリプトは外部公開向けに一部修正しています。
チームスピリットの設定
Excel形式のレポートを毎日指定した時間にメールで受信できるように設定します。
転記先のExcel
転記先のExcelはSharePointへ置き、以下の方針で運用しています。
- A列には年月、B列には部署名を月に1回手動で入力する。
- レポートの数字をD列に転記する。
Office スクリプトの作成
Power AutomateからはExcelを直接編集できないため、編集するためのOffice スクリプトを作成します。
作成するOffice スクリプトは下記の2つです。
- 部署別売上を取得
- 部署別売上を設定
部署別売上を取得
現在の運用に合わせて、B列に「小計」と記載がある行のAN列(0から数えて39列目)の数値を取得します。
部署別売上を設定
現在の運用に合わせて、以下の実装としています(部署が9つの場合)。
- 転記の開始位置は、A列に年月の記載がある中で一番下の行から8つ上のD列。
- 転記する数字は下3桁を切り捨て。
- 一番下の部署には0を設定。
Power Automateでフローを作成
上記のOffice スクリプトを使い、下記のフローを作成しました。
フロー実行のトリガー
指定した件名のメールを受信した際にフローを実行するようにします。
今回は「売上レポート添付」という件名を指定します。
添付ファイルのコピー
受信したメールの添付ファイル(レポート)をOneDriveへコピーします。
コピー先のファイルは事前に用意しておきます。
レポートのコピーから値を取得
OneDriveへコピーしたファイルに対してOffice スクリプト「部署別売上を取得」を実行し、指定したセルの値を取得します。
取得した値を転記先へ設定
転記先ファイルに対してOffice スクリプト「部署別売上を設定」を実行し、上記で取得した値を設定します。
実例
メールの受信から転記先ファイルへの転記は以下の流れとなります。
メールの受信
下記メールの受信をトリガーとしてPower Automateを実行します。
- メール
- 添付ファイル
添付ファイルのコピー
添付ファイルの内容をOneDriveのファイルへコピーします。
転記先ファイルへ設定
コピーした添付ファイルの内容を転記先ファイルへ設定します。
おわりに
自動転記を実現したことで、手動でExcelへ転記する手間を省きつつ、リアルタイムの情報を反映することができました。
今回の方法はチームスピリットと直接連携していないため、他にも使い道がありそうです。