はじめに

イーストではチームスピリットのレポートを使って部署の売上などを管理しています。
レポートの一部は、別途管理している数字と関連づけるために手動で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へ転記する手間を省きつつ、リアルタイムの情報を反映することができました。
    今回の方法はチームスピリットと直接連携していないため、他にも使い道がありそうです。