PleasanterとExcelを接続してみた－活用編②

# はじめに
[[こちら]](https://qiita.com/m-isik/private/d716292f0890d864777d)の記事の続きとなります。今回は、前回作った進捗表をさらにレベルアップしていきます。

# 作るもの
こちらが、前回作成した進捗表です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/26b57483-91af-671b-f0a5-8eb5aa327e89.png)
今回はこの進捗表の予定・実績欄（K・L列）を利用して、予定工数に対しての実績（工数の消化状況）を把握できるようにします。別シートで、グラフも描画してみたいと思います。

# 実装の検討
予定・実績をどのように管理するか考えます。
### 予定
これは、すでにある進捗管理テーブルにある項目、作業量の項目を使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/c42b605c-2c1c-7679-6c5a-720d79595918.png)
タスク作成時に、作業量を見積もり、予定時間を設定します。

### 実績
実績は各担当者の作業時間をリアルタイムにチェックしたいため、日々入力してもらえるような仕組みとして、新たに実績登録用のテーブルを用意します。
##### 一覧画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/7d8ada49-b148-4848-b9ba-1436ba07df1e.png)
##### 詳細画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/749961d3-cf05-12f6-a10b-fcdf73119352.png)
※詳細画面にリンクがありますが、こちらの詳細は後述。

各担当者には、日々実績を入力してもらいます。


# タスクマスタを追加
実績工数は作業タスクをキーとして集計したいため、進捗管理－作業実績間で作業タスク情報を共通化する必要があります。そのため、タスクマスタを用意し各テーブルにリンクさせます。
##### 一覧画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/a04f163a-5707-e35a-5214-36d00e991cd8.png)
必要なタスクを作成します。

##### 詳細画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/347b06c7-f809-b93e-5b0b-2dc2199f5524.png)
こちらのタスク名がキーとなります。


# 進捗管理テーブルの改造
作成したタスクマスタを、進捗管理テーブルにリンクさせます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/b99a3c08-f56b-3651-b20d-7b0e293ed9f2.png)
もともとTitleに作業タスクを手入力していましたが、新たな分類項目(ClassD)にタスクマスタをリンク。

前述の作業実績テーブルのリンクも同様です。

これでPleasanterの準備は完了。

# エクセルの改造
#### 進捗管理テーブル
以前はTitleに設定していた作業タスクをリンク設定したClassDから取得するように変更（A列）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/1890e872-9612-7ab5-ac76-c60bcec3fdf5.png)
見てのとおり、Value値となっているため考慮が必要。


#### 作業実績テーブル
シートを増やして新たに取得するようにしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/2b1007a7-cc9f-e3d6-1d68-29cfbbdcafff.png)
作業タスクがClassA、実績工数がNumAです。

#### タスクマスタ
作業タスクは各テーブルから取得するとValue値となってしまうため、変換が必要です。そのためタスクマスタから表示名に変換できるように情報を取得しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/1d84c3d3-2645-568d-f1e5-a56d279a3bfa.png)
細かいですが、C列はLookUpのため取得したA列のIDをValue関数で変換したもの。（Excelの属性の扱い面倒・・）

#### 編集シート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/9de8b358-5730-a043-4eff-3590851d78e9.png)

変更した箇所は以下の通り
#####  ①作業タスク
```vb
=XLOOKUP(INDIRECT("編集!A1:A"&COUNTA(A:A)),作業タスクマスタ取得!C:C,作業タスクマスタ取得!B:B,"")
```
XLOOKUPで、作業タスクのValue値をタスクマスタから取得してきた表示名に変換しています。


#####  ②実績工数
```vb
=SUMIF(作業実績取得!B:B,INDIRECT("編集!A1:A"&COUNTA(A:A)),作業実績取得!D:D)
```
SUMIF関数で作業実績の実績工数から、作業タスクが一致するものの工数を集計しています。

# 仕上げ
#### ガントチャート

大分類に作業タスク、予定・実績にそれぞれの予定工数、実績工数を連携します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/4cf71526-dad9-4b0b-5f87-c9de9d9ed87c.png)
と、こちらのシートは見た目に大きな変化はありません。

#### 工数消化状況グラフ
これまで整理してきた情報をまとめて、予定工数に対する消化状況をグラフにします。Excelの標準的な棒グラフで作ってみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922382/a0bde65a-9b32-a7c8-c034-c079c8ee727e.png)
できました。
# まとめ
リアルタイムに工数を入力してもらって、日々工数をチェックする、という運用、おそらくExcelでは相当めんどくさいことになると思います。その点、情報共有の得意なPeasanterと組み合わせることで、見慣れたExcelがより快適に使えるようになりそうです。