横浜国立大学理工学部建築都市環境系学科卒
一級鉄筋技能士
せっかくデータをまとめたとしても、現場の方々に見てもらい、その方々の何らかのアクションを誘発する物でなければ意味がありません。
この記事では、前処理したExcelデータを分かりやすく見える化・グラフ化する方法を解説していきます。
目次
実績データを累積データとして前処理する
工事毎の実績データを評価するには、そのデータをまとめ、累積データとする必要があります。
詳しく見ていきましょう。
繰り返し処理を使って実績データを累積する
リストボックスで特定の工事を指定し、原価グラフ作成ボタンを押せばその工事の「予算vs実績グラフ」が作成されるように実装していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Dim actualsum As Long '実績の累積 金額なのでlong型 Dim strdate As String '日付のループで使う日付 string型 actualsum = 0 For i = 0 To diffdays '日付の入力 2行目1列目 d1は開始日 ThisWorkbook.Worksheets("原価グラフ").Cells(i + 2, 1).Value = DateAdd("d", i, d1) '予算入力 2行目2列目 ThisWorkbook.Worksheets("原価グラフ").Cells(i + 2, 2).Value = diffvalue * i '実績を累積で入力 strdate = ThisWorkbook.Worksheets("原価グラフ").Cells(i + 2, 1).Value If actualdic.exists(strdate) Then actualsum = actualdic(strdate) + actualsum End If ThisWorkbook.Worksheets("原価グラフ").Cells(i + 2, 3).Value = actualsum Next i ThisWorkbook.Worksheets("原価グラフ").Range("F3").Value = budgetcost ThisWorkbook.Worksheets("原価グラフ").Range("F4").Value = actualsum ThisWorkbook.Worksheets("原価グラフ").Range("F5").Value = actualsum / budgetcost |
「工事8」についての実績データと日にちごとの予算額の推移が原価グラフシートのF3~F5のセルに入力されるのを確認します。
予算vs実績グラフの作成
ここまで前処理ができたら、あとはグラフを実装するだけです。
折れ線グラフを挿入し、グラフ名をcostgraphに変更
VBAのコードを記載するときにグラフ名が必要になるので、忘れずにグラフ名を変更します。
costgraphに予算vs実績データを紐づける
グラフを作成するコードは以下の通りです。
1 2 3 |
' 【グラフ作成】 Set costgraphtablerange = ThisWorkbook.Worksheets("原価グラフ").Range("原価グラフデータ") ThisWorkbook.Worksheets("メイン").ChartObjects("costgraph").Chart.SetSourceData costgraphtablerange |
原価グラフ作成ボタンにVBAのマクロを登録する
最後に「原価グラフ作成ボタン」を作成し、上記マクロと紐づけを行います。
挿入した図形を右クリック→マクロを登録から、createcostdataを選択します。
これで、工事毎の「予算vs実績グラフ」を作成することができました!
まとめ
この記事では、前処理したExcelデータを分かりやすく見える化・グラフ化する方法を解説しました。
中小企業であれば、このレベルでExcelデータを共有できれば十分なのではないでしょうか?
今回の記事の内容以外にも、元請け企業ごとや担当工事所長毎の工事成績もまとめてみるとより具体的な対策につながるかもしれません。