東京アプリケーションシステムの佐久間です
私には毎日の業務の一つとしてリーダーへの作業時間の報告があります
作業時間の報告はメールを用いて「作業内容・それぞれの作業にかけた時間」を当日と当月分を報告することとなっています
最初の内はテキストファイルと計算機を用いて、手計算で記入を行っていましたが、
確認不足で作業時間の合計が間違ったまま提出をしてしまうことがあり、なんとかしなければと考えていました
そういった問題を解決できるツールを調べてみたところ
- ツールの使い方を覚えるために他の業務時間を削らなければいけない
- 会社で利用する以上、セキュリティリスクに気を使わなければいけない
- そもそも今回解決したい問題には世間一般のツールはオーバースペックである
といった問題がありました
業務でWeb開発を行っているので自分用にWebアプリを作成しようとも思いましたが、こちらも業務時間の理由から断念せざるを得ませんでした
どうしようかと考えていたところ、月の日付、時間といったデータを管理し、それらを計算するには既にPCに入っている表計算ツールの「Excel」を利用するのが良いじゃないかという考えに至りました。
今回の記事では作成したツールを簡易的に紹介致します(実際の業務内容のデータはセキュリティ上書けないため、ダミーデータを用いています)
こちらが今回作成した表です
それぞれの日付に作業時間を記入することで計算結果を合計に表示します
また日ごと月ごとに担当業務の数は変更することがあるため、業務項目の列を増やしたり減らしたりすることで合計の数値が自動的に変更されるようになっています
メールで報告する形式に変換する部分は以下のようになっています
今回こだわった部分としてマクロやVBAを用いず、ワークシートの関数だけで処理を行っています
業務でVBAを利用しているためマクロが書けないといった訳ではありませんが、便利だからといって「なんでもVBA」といった事を行っていると視野が狭まってしまいます
今回VBAの利用を制限したことでExcelで利用できる関数群について勉強を行うことができ、関数でやるべきことVBAでやるべきことを自分の中で分けられるようになりました
他業務でのExcel利用やExcelアプリケーション以外のアプリケーション開発の際、表計算を利用する時には今回の経験が生きてくると感じています
更にはExcelといった誰でも使えるようなアプリケーションであっても、グラフィカルであり計算・データ変換能力も高く、
目的・用途を考えればプログラムを1から書くより時間も短く、便利なものを作成することが出来るといったことを経験し、プログラマーだからといってプログラムを書くことにこだわりすぎる事は良くないといった事を学ぶことが出来ました
今後も様々なアプリケーションや技術を試してみて、業務の要望にあった提案を出せることができるようになっていきたいと思います
ここまで読んで頂き、ありがとうございました_(._.)_