検索
連載

業務効率化の道具箱(11)VBAでグラフ描画が可能な自動集計アプリを作ってみよう山浦恒央の“くみこみ”な話(164)(1/3 ページ)

ソフトウェア開発にとどまらない、PCを使う全ての人が対象となるシリーズ「業務効率化の道具箱」。第11回は、VBAによる自動集計アプリのさらなる進化版として、データを転記し、グラフ描画を行うツールを作ってみる。

Share
Tweet
LINE
Hatena
※本記事はアフィリエイトプログラムによる収益を得ています

1.はじめに

 本シリーズでは、日頃の作業を効率化し、定時で帰宅する方法を紹介しています。主な業務効率化の例は、下記の通りです(詳しくは第154回を参照)。

  • スペックの高い機器を導入する
  • 使用機器を使いこなす
  • ツールを導入する
  • 自分でツールを作る
  • 働き方を工夫する

 上記の中でも、第161回からは「自分でツールを作る」を取り上げています。今回作成するツールは、筆者の過去のエピソードを基にした、データを転記し、グラフに描画するツールです。面倒なグラフの作成を簡単に行えます。

⇒連載「山浦恒央の“くみこみ”な話」バックナンバー

2.データ集計業務

グラフ作成
※写真はイメージです

 コンピュータの普及により、かつては手作業で苦労した文書や帳票の作成が、今ではWordとExcelで楽に作成、複製、再利用できるようになりました。

 全ての業務が楽になったわけではありません。定型作業でも、「顧客データの集計業務」「テストデータの整理」は、ある程度時間がかかるでしょう。作業自体は簡単ですが、作業者のクリエイティブな時間を奪う要因となります。

 このような業務を早く終わらせるため、定型作業をいかに楽にできるか考えることが大事です。今回は、筆者が経験した業務をベースとして、自動集計アプリを作成してみましょう。

3.筆者のデータ集計エピソード

 ある日の午後、筆者は、下記の依頼を受けました。

依頼者「全50件のCSVファイルを10件ずつのグループに分けて、グラフ(散布図)にまとめてください」

筆者「分かりました。全てのファイルをまとめる必要がありますか?」

依頼者「はい、全件をまとめてください」

筆者「分かりました。提出期限はいつでしょうか?」

依頼者「上司に報告したいので、できるだけ早くお願いします。遅くても今日中にまとめてください」

筆者:「分かりました」(時間がないな……)

 この作業のイメージとして、都道府県ごとに、農業、漁業、林業、鉱業、運送業、製造業、金融業、食品加工業、教育産業、旅行業、飲食サービス業、情報処理業、通信業、広報業、その他業種の従事者数のデータをまとめたCSVファイルが合計47ファイルあり、それを東北北海道、関東、中部、近畿、中国、四国、九州沖縄の7地方にまとめ、各地方別の産業別の総人口を散布グラフにプロットする作業を考えれば近いと思います。この処理に必要なソースコードを後ほど公開しますので、コピー&ペーストして再利用していただければと思います。

 依頼内容に基づき、筆者は、まず1件分の作業を実施し、今日中に提出できるか確認することにしました。作業イメージを以下に示します。

3.1 データのコピー

 グラフにまとめるには、元データを集計する必要があります。筆者は、バラバラのCSVファイルから必要なデータをExcelファイルにコピーしました(図1)。

図1 データコピーの作業イメージ
図1 データコピーの作業イメージ

 図1は、データコピーの作業イメージです。ここでは、CSVファイルデータをコピーし、それを集計するExcelファイルに貼り付けています。

3.2 グラフの参照先を修正

 最終結果はグラフで表示するため、グラフを作成し、3.1でコピーした参照先となるように設定します(図2)。

図2 グラフの描画の作業イメージ
図2 グラフの描画の作業イメージ

 図2は、グラフ描画の作業イメージです。グラフ上で右クリックし、メニューから「系列の編集」を選択し、データの参照列を追加しています。

 この作業を1件やってみて、以下の問題点に気が付きました。

  • データの転記ミスが発生する
  • 追加データがある場合、手間が増える

 データの「開く」「閉じる」を50回も繰り返すため、転記ミスの可能性があります。また、筆者の経験上からも“おかわり”の追加データが送られることが予想できたため、再集計の可能性がありました。再集計になると同様の作業を繰り返すことになります。そこで、独自の集計ツールを作成し、ミスなく素早く集計できるようにしました。

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る