2014/11/28

Excel ユーザーのための Office 365 SharePoint Online

Office 365 というサービスは今後のマイクロソフト社の主流のサービスと位置付けられていると考えてよい。多くの製品開発はまず Office 365 というクラウドサービスを対象に行われ、その後、オンプレミスと呼ばれるサーバー製品にフィードバックされることが、マイクロソフトの開発責任者によって明らかにされている。

Office にしても、Office Premium や Office 365 Solo といった商品・サービスが登場し、クラウドや Office 365 の存在を無視し続けることがデメリットになりつつある。まして、企業で Office を利用しているユーザーであればあるほど、Office 365 の恩恵を受ける可能性が高いのだ。

その Office 365 の中でとりわけ利用・活用に頭を悩ませているのが SharePoint Online であるというユーザーも少なくない。SharePoint Online は「なんでもできる共通基盤」として紹介されてしまうため、逆に何をやっていいかのイメージがつきづらいサービスである。


実際、コラボレーションというキーワードから「社内ポータルサイト」および「共有文書管理のファイルサーバー」として使うユーザーもいれば、Notes からの移行でワークフローの機能を使い、社内のプロセスをワークフローでまわそうとする企業もある。

そこに独自の開発を入れる、もしくは開発を入れないと要件が満たされないということから、開発を依頼する会社も多い。


しかし、反面、SharePoint は Excel ユーザーにとっては「長年の課題」をお手軽に解決する可能性があるサービスであることはあまり語られない。

Excel ユーザーが長年課題として持っているもの、それは情報の収集・集約方法である。

複数のユーザーに対して Excel ブックで入力シートを作成し、それを配布、記入後にメール添付で返信、というような使い方をしているユーザーは多いだろう。そして、それら返信されたブックを開き、集約する作業、コピーする作業などを手作業でやるか、VBA でマクロ機能を使うか、といったものである。

そこで、SharePoint の「リスト」である。
SharePoint の「リスト」という機能は Excel との親和性が非常に高い。

以前に Excel のブックをそのまま SharePoint リストにする方法を紹介した。
http://road2cloudoffice.blogspot.jp/2014/11/office-365-sharepoint.html

実際、このようにすんなりいくことは稀であり、SharePoint リストの構造、リストでやれることやれないことを理解することで、この Excel エクスポートを使いこなすことも可能になる。

そこでおさえておきたい SharePoint リストの機能を紹介したい。ただ、この活用のポイントは SharePoint 側で「あまり凝ったことをやりすぎない」であることは最初に述べておく。そのかわり我々には Excel があるのだから、Excel でその補填をすることを考えると幸せになれるかもしれないということだ。

SharePoint のリストはワーシートみたいなもの

以下を見てほしい。これは SharePoint のリストをデータシートビューでみたものである。


このように1行が1件分のデータとして表示されているのを見るとワークシートの表に近いことがわかると思う。すでに紹介しているが、SharePoint リストは Excel へのデータ エクスポートが容易であることから、もし、データ入力が SharePoint 側で行われれば、その後の集計や分析は Excel のみで実施することができるのである。

SharePoint リストの1件分のデータを構成する「列」はどのようなものからなるか。始めから Excel にエクスポートすることを念頭において構成することで、その後の作業効率が大きく変わることは言うまでもない。

列作成で選択可能な種類

・ 1行テキスト
Excel にエクスポートすれば「文字列」になる。

・ 複数行テキスト
Excel にエクスポートすれば「標準」になり、データ(アイテム)のどれかに改行が入ったものがあれば「折り返して全体を表示する」のチェックがついた状態になる。いずれも文字列扱い。

・ 選択肢(メニューから選択)
Excel では文字列になる。選択肢は列の設定で候補を入力して、そこから選択した文字列が入る。

・ 数値(1, 1.0, 100)
Excel にエクスポートすると「通貨」分類の記号「なし」に設定される。パーセンテージの設定の場合は、「50.5%」とリスト表示され、Excel 側では表示形式「パーセンテージ」の 50.5% となる。

・ 通貨
あまり使わないが、リスト側で「\2,000」と表示され、Excel では表示形式「会計」の記号「\日本語」になる。

・ 日付と時刻
SharePoint リストのアイテム入力ではカレンダーコントロールを使うことができる。また、直接文字の入力も可能である。Excel にエクスポートすると、日付として認識されシリアル値としてエクスポートされる。

・ 参照
SharePoint リストの列の参照は、他のリストのデータを参照して、そこからドロップダウンなどで選択できる。Excel 側では文字列として設定される。

・ はい/いいえ(チェックボックス)
SharePoint リストでの入力画面はチェックボックスのオン/オフだが、入力後の表示は「はい、いいえ」になる。Excel にエクスポートすると「TRUE/FALSE」となり、標準セル扱い。


おおよそ上述の種類から選択することになるだろう。
うれしいことは日付のデータを「シリアル値」として Excel 側にエクスポートしてくれる点。( Excel が日付と判断してシリアル値にしていると思ったが、SharePoint リストの集計フィールドの数式でシリアル値を扱うことができるのでシリアル値をエクスポートしているかもしれない。) 他についても表示形式を設定して文字は文字、数値は数値として Excel 側で認識することが可能である。

ちなみに、文字列(1行テキスト)として定義した列の「001」は当然文字列の「001」としてエクスポートされ、「1-1」が「1月1日」になることはない。

なお、これらの列定義をしてリストを作成すると、入力画面は以下のようなものになる。
カレンダーコントロールや、ドロップダウンリスト、チェックボックスでシンプルな入力支援が可能だ。
必須入力の設定やちょっとした入力規則のような設定、IMEのオン/オフの設定も可能なので、ユーザーが入力しやすい、誤入力を避ける設定を検討すると良いだろう。


ビューやオートフィルターを使って「表形式で編集」する

SharePoint リストの画面では、特に設定をしなくても Excel と同じように「オートフィルター」による絞り込みが可能である。オートフィルターをうまく使って「リスト編集」によるデータシートビューでデータを確認、変更するのは Excel を使ってデータを操作する感覚に似ている。

ここで、入力されたデータの整合性のチェックなど、あるロジックを追加したい場合、手作業・目視で1件1件調べるか、SharePoint のアプリケーション開発となるが、このリストデータをそっくり Excel 側にエクスポートすれば、Excel ユーザーはワークシート関数やピボットテーブル、または VBA を使ってチェックが可能である。 Excel を使いこなしていれば、ここに開発のコストをかけることなく、整合性チェック程度は可能になるのだ。

もちろん、レコード件数を意識することになるが、数千件程度であれば現在の Excel と PC 能力をもってすればそれほど時間のかかる重い処理にはならない。

SharePoint リストはテーブル形式でエクスポートされる

SharePoint リストのデータはテーブル形式で Excel 側にエクスポートされるので、行数が変わっても構造化参照やピボットテーブルから参照していれば、「データ更新」するだけで最新のデータを参照・利用することが可能である。

テーブルのすすめ 構造化参照
http://road2cloudoffice.blogspot.jp/2014/11/blog-post.html

おおよそ、このようにテーブル形式でエクスポートされたデータを Excel で扱うのはピボットテーブルが使いやすい。このエクスポートされたテーブルは iqy ファイルを使ってデータ接続し、ワークシート上のテーブルのデータを更新するタイプで、前回まで紹介した「データ モデル」を使っていない。よって、データ モデルで話題となった集計フィールドや集計アイテムはこのテーブルを参照したピボットテーブルで使える。

なお、このようなデータ接続は SharePoint から Excel への一方通行のデータ接続である。Excel 側でテーブルを修正しても、その修正結果は SharePoint には反映されない。あくまで参照用であることを心に留めてほしい。

よって、Excel 側で整合性のチェックをし、その情報を元に SharePoint のリストのデータを修正、さらにデータ更新をかけて、整合性のチェックを行うことを繰り返すことになる。

また、そのチェック用の Excel ブックは SharePoint に保管して、他のユーザーと共有にしてもよい。他のユーザーもリストがあるサイトにアクセスが可能であればブックの接続プロパティにあるプロバイダとコマンド文字列の情報から、PCにある Excel でブックを開いてデータソースの更新が可能になる。

問題は Excel Services と Excel Online

上記の方法の問題点は Excel Services と Excel Online で iqy ファイルを使ったデータ接続の更新ができないことである。

ただし、SharePoint リストと Excel のデータ接続は iqy ファイルを使った接続だけではない。
このあたりの情報が整理つき次第紹介したいと思う。

[追記] OData データ フィード接続による Excel Online データ接続更新可能の記事が以下になります。
http://road2cloudoffice.blogspot.jp/2015/01/excel-online-excel-web-access-excel.html
[追記終わり]

ポータルだ、サイトだ、と考えずに

全社/部門ポータルを作る、などのアプローチから SharePoint に触れるケースも多いだろうが、現状 Excel でやっているこまごまとした業務を「入力」「計算」「出力」のロールやフェーズにわけて、入力の部分を SharePoint リストで行い、計算や出力の部分を Excel で行ってみてはいかがだろう。

SharePoint リストの場合はリスト アイテム単位のアクセス権の設定はリストの詳細設定から可能だが、込み入ったデータの扱いではリスト側で一工夫必要になる。それでも、単純な集計や申込み・申請業務などは SharePoint リストと Excel データ接続による Excel の処理を検討してみる価値はあるだろう。


0 コメント:

コメントを投稿

Powered by Blogger.

自己紹介


PowerBI コミュニティ勉強会の 沼口 です。
https://powerbi.connpass.com/
最近の Excel は Office 365 のクラウドサービスと 連携する方向性が打ち出されています。この「Road to Cloud Office」ブログでは、Excel ユーザーの視点から Power BI Service や、Office 365 の活用方法を模索した結果をお伝えしています。
Microsoft MVP for Data Platform 2017-2018