今回は、「Office Excel(以下、Excel)データのWeb化」をテーマに業務効率を高める手法やツールを紹介したい。
前段として、Excelに搭載されている「Webクエリ機能」を利用し、WebとExcelのデータを同期させながら、ダイナミックに情報を収集する方法について触れておこう。これは、WebデータをExcelデータとして取り込む方法である。今回の「ExcelデータのWeb化」とは逆のプロセスとなるものの、WebからExcelに最新データを取り込んだ後にデータを加工し、それを再度Web化して他ユーザーに公開することで、鮮度の高い情報共有が実現できる。
Webクエリ自体は、Excel 97やExcel 2000など古いバージョンのExcelから搭載されている有名な機能だ。定期的にチェックしているWebサイトのデータを取り込み、データを分析する際にとても役立つ。ここでは、Excel 2007を使ってWebクエリを試してみよう。オーソドックスな例として、Yahoo!ファイナンスの外国為替レート表のデータを自動取得する手順について紹介する。
Webクエリの作成は、メニューの[データ]−[Webクエリ]で実行する(Excel 2003の場合は[データ]−[外部データの取り込み]−[新しいWebクエリ])。Webクエリを選択すると「新しいWebクエリ」のウィンドウが開くので、取得データのあるWebサイトのURL(http://quote.yahoo.co.jp/m3/)をアドレスバーに入力し、「移動」ボタンを押すと該当ページが現れる。ここでWebページのテーブル(table)部には黄色い矢印ボタン(以下、[→])が表示される。
取り込みたい表データ部の[→]にマウスポインタを合わせると、Webクエリで取り込めるデータ範囲が水色の枠線で示される。取り込みたいデータ範囲の[→]をクリックすると、[→]が緑色のチェックマークに変わる(画面1)。さらに「取り込み」ボタンを押すと「データのインポート」画面が表示される。そこでデータを取り込む際に「既存」または「新規」のワークシートを選択すると、ExcelシートにWebデータが取り込まれる仕組みだ。しばらくしたら「更新」ボタンを押し、データが本当に更新されたか確かめよう(画面2)。

(画面1=左)「新しいWebクエリ」のウィンドウにURLで指定したページが現れる。取り込みたい表データ部の[→]をクリックして緑のチェックマークに変わったら、「取り込み」ボタンを押す。(画面2=右)Webクエリ機能によってデータが取り込まれたところ。メニューから更新を選ぶと、新しいデータが取り込まれる《クリックで拡大》次にデータの自動更新を設定する。データのセルを選択した状態で[データ]−[プロパティ]を押すと「外部データ範囲のプロパティ」画面が表示される(画面3)。そして「コントロールの更新」項目の「定期的に更新する」や「ファイルを開くときにデータを更新する」にチェックを入れる。1日に数回程度の更新であれば「ファイルを開くときにデータを更新する」に設定、さらに更新頻度を上げたい場合は「定期的に更新する」の機能を利用してデータを自動的にアップデートさせる。Webクエリと連動した最新データを反映したグラフを表示させることも可能だ。
ただし、これらの更新データは同一シートの同一セルに上書きされるので、実運用時はマクロ機能やVBAでカスタマイズして、ほかのセルやシートにデータを蓄積するとよい。また、為替レートの上下限を設定してメッセージボックスでアラートをかけるなど、いろいろな工夫を凝らすとさらに使いやすくなるだろう。あるいは自身で作るのが面倒ならば、市販のExcelアドインを利用するのも手だ。例えばフリーフォーマットの「Excelの玉手箱」アドインコレクション「Webクエリ連続実行」(価格900円)を使うと、3つのWebからの取得データを各ワークシートに転記できる。

次に、Excelデータを一発でWeb化して、Web上から昇順/降順にソートしたり、グラフ表示できるExcelアドインについて紹介したい。ここではJavaScriptライブラリの「jQuery」を利用する。
jQueryは、わずか数行のJavaScriptスクリプトを書き加えるだけで多くの処理を安全かつ簡単に実行できるライブラリで、最近特に人気があるようだ。jQueryのライセンスにはMITとGPLの2種類があり、規約を守れば誰でも無償・無制限で扱える。jQuery本体は、本家サイトから入手してほしい。複数のバージョンがあるが、ここでは最新の「jQuery 1.3.2」を使う。
次に、具体的なExcelアドインについてだが、高橋登史朗氏が作成した「jquery.csv2table.js」を利用させていただいた。ExcelでCSVデータに変換したファイルを読み込み、クロスブラウジングが可能なテーブルとして表示できる。簡単な社員データを例に挙げて説明しよう。
jQuery本体とjquery.csv2table.jsをダウンロードしたら、Excelで作成した表データをCSV形式で保存して、便宜上すべてのファイルを任意のディレクトリ(ここではCドライブのJSフォルダ)にコピーしておく。次にCSVデータをWeb表示するためのテスト用のHTMLファイルを作成する。そしてjquery.csv2table.jsを実行すると、ExcelのCSVデータをWeb画面に表示できる(画面4)。このアドインが優れている点は、CSVデータの読み込みだけでなく、昇順/降順のソートも可能なこと。フィールドの横にあるボタンを押すだけで、表計算ソフトのように列ごとに並び替えられるので便利だ。
また、社員の年齢を20代、30代、40代、50代別に色分けして表示するようにカスタマイズすることもできる(画面5)、これらは高橋氏のWebサイトにサンプルとして掲載されており、いろいろと応用が利きそうだ。JavaScriptの心得が少しあれば、自分好みにカスタマイズして利用できるだろう。

(画面4=左)ExcelのデータをCSV形式に変換し、「jquery.csv2table.js」でダイレクトにWeb表示した結果。ここではdivision項目をクリックして部門別にソートした。(画面5=右)JavaScriptで社員の年齢を20代、30代、40代、50代別に色分けして表示する《クリックで拡大》ここからは、市販ツールを活用してExcelデータをWeb化する方法について紹介しよう。前述のようにjQueryを利用してWebアプリケーションを自力開発する方法もあるが、少しでも予算があれば、市販ツールを利用してさらに高機能なWebアプリケーションを簡単に作りたいところだろう。
最初に紹介したいのが、“かんたんWebデータベース”を標ぼうする「サイボウズ デヂエ」(画面6)だ。デヂエは、機能性、操作性に優れていることが大きな特徴で、中堅・中小企業向けツールとして適している。社内に散在するExcel資産をノンプログラミングでWebデータベース化し、一元管理することが可能だ。
Webブラウザ上でライブラリ(実際にデータを格納する場所)を作成し、項目(フィールド)を設定して、日報やクレーム管理など業務に合ったアプリケーションを作れるほか、現在利用しているExcelファイルをCSV形式に変換し、そのままデヂエ側に読み込める。追加データの登録や、複雑な絞り込み検索も簡単だ。また、1つひとつの登録データへコメントも残せる(画面7)。さらに同社のグループウェア「Office 8」と併用すれば、デヂエで登録されたコメントなどをメールやRSSで通知するため、データ更新を見逃すことなく効率的な情報共有が可能だ。

(画面6=左)サイボウズ デヂエは社内に散在するExcel資産をノンプログラミングでWebデータベース化。ExcelファイルをCSV形式に変換し、そのままデヂエ側に読み込むことも可能。(画面7=右)個々の登録データへ「コメント」を残せるので、ほかのユーザーとの情報共有もスムーズだ《クリックで拡大》セキュリティ面でも、閲覧・編集といったアクセス権の設定から過去の対応履歴の参照まで対応する。アクセス権は、見せたくない項目(住所など)を細かく設定できるため、個人情報保護にも役立つ。価格は運用ライブラリ数によって設定されており、「プラン20」(ライブラリ数20以下)では新規ライセンスが10万円、2年目以降の継続ライセンスが9万円からと手ごろだ。同社のWebサイト上のオンラインデモで製品を実際に操作できるため、導入検討時に事前に試してみるといいだろう。
もう1つ、Excelを活用できるツールとして富士電機情報サービスのデータベース検索・集計ツール「軽技Web」も挙げたい。軽技Webは、Webブラウザからのデータベース検索サービスや社内Webシステムへの連携・通知、ユーザー行動予定管理などの機能をサポートし、企業内ポータルとしても機能する。コアとなるデータベース検索サービスでは、Oracle DatabaseまたはSQL Serverにアクセスし、知りたい情報を手軽に検索できる。SQL文を知らなくても画面表示に沿って検索条件を設定するだけでいい。クライアント側から検索結果を確認したり、検索条件や結果を他ユーザーに公開して情報を共有することも可能だ。
さらに、2009年4月に登場した「軽技Web Ver.6」では「Excel連携機能」が搭載された。冒頭で紹介したWebクエリ機能を利用し、クライアント側のExcelに結果をシームレスに取り込んで表示できる(画面8)。
これは、クライアント側からWebクエリ機能を起動し、軽技Webで検索条件を設定した公開URLを基に専用Webサーバ側でSQL文を作成して、そのコマンドをデータベース側に対して発行する機能。データべースはSQLコマンドを解析して検索・集計・結合などの処理を実施し、その結果を専用Webサーバに返す。さらに専用Webサーバ側では、データベースから受け取った検索結果をWebデータに変換し、クライアントPCに送信。それらをクライアント側のExcelワークシートに表示するという流れだ。
使い慣れたExcelのインタフェースから軽技Webの保存(検索)条件を実行し、ダイレクトに結果を出力したり、それらをピボットテーブルなどの機能で分析できる点は便利だ。軽技Webもオンラインデモが用意されており、操作性などの使い勝手を体験できる。
ここまで、ExcelデータをWebで活用するという観点から幾つかのTipsやツールについて紹介してきた。次回は「Excelデータの分析」にスポットを当て、ツール・活用法について紹介する予定だ。