Excelで業務改善や業務システム連携を支援、5時間作業を5分に効率アップ!

Excelで業務改善や業務システム連携を支援、5時間作業を5分に効率アップ!

excelや業務システム連携を業務に合わせて最適化、業務効率改善を実現する、中小企業診断士です。
5時間かかるexcelファイルの集計を5分以内に短縮するノウハウをご提供いたします。ソフトウェアの開発方法論や体系立てたシステム開発経験も合わせて提供いたします。

Amebaでブログを始めよう!

【ちょっと変ったアンケート集計表示】


今回はExcelが標準で持っているグラフ機能を一切使わないアンケート集計結果表示のご紹介です。


このアンケートは、あるテーマに沿った複数の取組を、お客さまが実施しているかどうかを回答いただき、
その結果表示としては、お客さま自身が実施しているかどうかを明示するとともに、全体の実施傾向(取組んでいる/いない)も表示することを目指したものです。

これまでの集計結果とは大きく違うので、最初は見慣れるまで、理解するまでに時間がかかるかもしれません。


【アンケート結果表示】

この表示の前提として

①あるテーマに4つの質問があり⇒90度ずつで4質問で円が一つ

②外周部がお客さま自身の取組
 青=取組んでいる
 オレンジ=問題と認識しているが取組んでいない
 空白=問題とはならない、無回答

③その内側は全体の傾向で、空白相当回答を除き、アンケート回答全体で
 薄い青:取組んでいる割合 半径方向の長さがその割合
 薄いオレンジ:問題と認識しているが取組んでいない割合
 ※ 薄い青+薄いオレンジ=100%





アンケート結果表示例


【ソースコード例】

1/4円を描くソースコード例です。
原点の位置と角度の決め部分さえ慣れてしまえば、応用は簡単です。



1/4円


'第1象限 X座標,Y座標,X方向径,Y方向径
ActiveSheet.Shapes.AddShape(msoShapePie, 230, 50, 150, 150).Select
Selection.ShapeRange.Adjustments.Item(1) = -90 ' 角度指定
Selection.ShapeRange.Adjustments.Item(2) = 0 ' 角度指定


'第2象限 
ActiveSheet.Shapes.AddShape(msoShapePie, 220, 50, 150, 150).Select
Selection.ShapeRange.Adjustments.Item(1) = -180
Selection.ShapeRange.Adjustments.Item(2) = -90




【その他の応用】

今回は、Officeが標準で持っている図表部品を応用しました。
他の部品だと「顔」が使えそうです。

例えば、口の形を何かの数値に応じて変化させてあげます。



スマイル



'スマイルフェイスを追加して
ActiveSheet.Shapes.AddShape(msoShapeSmileyFace, 50, 50, 100, 100).Select

' まずは、ムッ として
Selection.ShapeRange.Adjustments.Item(1) = -0.04653

' 口は水平
Selection.ShapeRange.Adjustments.Item(1) = 0

' そしてニッコリ
Selection.ShapeRange.Adjustments.Item(1) = 0.04653



----

上手く使えば、これまでにない集計結果や分析結果の表示ができますね。



今回は、インターネット上で公開されているマクロをテストしてみて感じたことをまとめました。


【 標準では準備されていない祝日や振替休日の判定機能 】

VBAには標準で様々な時間に関する機能関数がありますが、日本固有の祝日や振替休日を判定する関数は準備されていません。

インターネットを調べてみると多くの方々から祝日や振替休日の判定を行うマクロが公開されています。

今回は月曜日始まりの一週間表をたくさんつくる必要があったので、インターネットで見つかった中から一つ選んでテストをしてみました。


【 仕様漏れ? 】

祝日と振替休日、どちらの判定が難しいと思いますか?

私は振替休日だと思います。

祝日は、日の決まったものと第○月曜日に移動されたものとがあります。
振替休日は、祝日が日曜日だった場合に翌日が休日になりますね。

では、今年の5月6日はどうでしょうか。

カレンダーを見ると、5月4日(日)みどりの日、5月5日(月)こどもの日、5月6日(火)振替休日、となっています。

ところがテストを行ったところ、2014年5月6日は振替休日の判定がされません。
ソースコードを見てみると、振替えた日が祝日だった場合にさらにその翌日に振替休日を割当てるようには書かれていませんでした。


【 テストケースの考え方 】

5月の連休の振替休日問題はとても身近な例ですが、テストケースで二日連続の祝日の場合を想定していなかったのだと思われます。ちょっと考えれば誰でも簡単に思いつく仕様であり、テストケースでもありますね。

将来、さらに祝日が増えた場合には、三日連続の祝日のケースも出てくるかもしれません。

仕様やテストケースを考える時は、少しだけ拡張した世界に身を置いて、考えることが大切なように感じます。

こういった考え方は、すぐに身につくものでもありません。普段から抜け漏れがないように気を配る習慣が、リスクを回避する自衛策なんだなあと思います。


【 Excelでプログラム連携、インターネットアクセスを行う 】

今回ご紹介するテーマは形態素解析です。

Excelから他プログラム連携、もしくはインターネットアクセス事例で形態素解析のプログラム


【 形態素解析って何? 】

皆さんは、『形態素解析』ってご存じですか?

簡単にいうと、日本語の文章を名詞や動詞に分解する「解析」です。

例えば、『今日はよく晴れています』を形態素解析すると、
(Yahooの形態素解析によれば)
今日:名詞
は:助詞
よく:副詞
晴れ:動詞
て:助詞
い:助動詞
ます:助動詞
となります。


【 形態素解析のツール 】

形態素解析をするためには専用の解析ツールを使いましょう。

ここでは、MeCab※1と Yahooのサービス※2を使ったサンプルをご紹介します。

MeCabは、プログラムをパソコンにインストールして利用します。
Yahooは、インターネット上のサービスの利用です。

※1:http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html
※2:http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html


形態素解析ツールそれぞれで、微妙に解析結果が異なるのが面白いところです。


先ほどの、『今日はよく晴れています』を上のそれぞれで解析してみた結果はこうなります。#品詞への分解は同じですね。


        MeCabの結果                  Yahooの結果

   MeCab と Yahoo の結果

【 Excelとの連携方法 】

今回は、MeCabに対しては入力をコマンドラインで、出力は少し面倒ですが、MeCabから結果ファイルを一度はき出して、それを読み込んで分類する方法をとっています。MeCabには他にも連携方法がありますが、今回は最も簡単な方法をとりました。

Yahoo形態素解析に対しては、GETリクエストを投げて、その応答を待つという、他のWEBサイトのリクエスト処理と同じオーソドックスなものです。



【 形態素解析で業務用語を抜き出す 】

では、こういった形態素解析を普段の業務でどのように使えばよいのでしょうか?

私がトライしたのは、会社の文書を大量に読み込ませて、そこからその会社や業界、事業特有の用語を抜き出して、辞書化をすることでした。

「業務用語=名詞が二つ以上連続している用語」という仮定で処理を進めました。
例えば、用語「パッケージソフト」だと形態素解析結果は
パッケージ:名詞
ソフト:名詞
で、ばらばらにしても意味がありませんが、つなげた状態では業務用語っぽくみえますよね。


課題は、わかっていたことですが、99%以上のノイズをいかに取り除くかです。


以前のブログでも紹介しています。

http://ameblo.jp/mirai-ex/theme-10071650164.html



 【 Excelでメール送受信ができたら便利? 】

Excelで特定のメール送受信ができたら便利だと思いませんか?

例えば、セミナーやイベントへの申込みメール。
必要な情報は、氏名、メールアドレスを必須として、年齢、職業、性別、など。加えて参加目的などいくつかの付加情報でしょう。

受け取ったメールは、多くの場合Excelのシートに参加者名簿を作成することでしょう。
この名簿は、申込みサンクスメールの送信、参加費の入金情報、直前の案内メール送信、当日の参加者管理、などに利用しますし、セミナー後にはお客さまデータベースに登録して、有力は見込み客として管理するかもしれません。


申込者が5人、10人であればメールを一つずつ一覧表に入力し直してもそんなに時間は取られません。しかし、100人、200人から申込みがある場合は、一連の作業を自動化しておかないと、担当者は丸一日以上メールから申込み情報を抜き出すだけの作業を行うことになりますね。
毎週、毎月、このような作業が発生するなら、その一連の作業を自動化するメリット大ではありませんか?

さらに、金融機関からの入金案内メールや一覧を同時に得ることができれば、名簿と入金情報を消し込んで参加費用の支払い管理まで自動化できることになります。

入金管理は注意がいる業務なので、完全自動化は難しいと思いますが、自動化の範囲をうまく調整することで、従来の業務がはるかに効率アップするはずです。


【 メールサーバを持たない中小企業向き 】

メールサーバを自社管理できれば、メール連動するリアルタイムの仕組みを作り込むことは簡単です。実際に20年弱前、sendmail + .forward でメールベースの社内物品購入申請のワークフローを動かしていました。

しかし、多くの中小企業はプロバイダが提供するメールサーバを利用しています。従って、メール連携する仕組みは、クライアント側(利用者側のPCやサーバで)
作り込む必要があります。

そのためにExcelマクロを活用するのも一つの形だと思います。Excel以外だってメール送受信できる仕組みはいくらでもありますね。

次回以降では、セミナー申込みと入金管理をテーマにしてExcelを利用した

・メール連携の仕組みの全体像
・メール受信のための仕組み
・メール送信のための仕組み

の紹介を予定しています。

【 税理士さん向け 月次入出金簿 簡単入力支援 】


先日、とある税理士さんから、お客さまの月次の帳簿入力を簡単にしたいとのお話がありました。


①お客さま側で、Excelファイルに月次の売上や購入品の帳簿をつけてもらい、

②月初に前月分の帳簿ファイルを税理士が受け取り、

③税理士側で準備している会計ソフトに入力し、

④結果を税理士からお客さまへ送付する


という流れです。


お客さま側の問題としては

・複雑な入力はできない(勘定項目を正確に決められない)

・会計ソフトは高価だし、操作がわからない

「でも、Excelファイルでお小遣い帳を付けるレベルなら問題なくできる!」


税理士側の問題としては

・会計ソフトへの入力ファイルフォーマットが複雑である(およそ月次の帳簿とはほど遠い)

 ので、いちいちフォーマット合わせ作業が必要。

 これに時間がかかるのと、間違いがあるので気を遣う


そして、帳簿をお客さまから毎月送ってもらうと、定期的にコミュニケーションできるメリットもありますね。


現在、プロトタイプを検証利用中です。


運用効果のご報告はまた後日。


全体は、こんなイメージです。




Excelで業務改善や業務システム連携を支援、5時間作業を5分に効率アップ!-税理士モデル