表計算ソフト(MS Excel)応用

表計算ソフトMicrosoft Excelは、を作成するとともに、集計グラフ化などを行うためのアプリケーション・ソフトである。山之口洋の はじめてのICT【基礎編】表計算ソフト(MS Excel)入門の単元では、Excelの3つの基本機能、

  1. 表作成・表計算機能
  2. グラフ作成機能
  3. 統計・データベース機能
のうち、上2つを扱った。この応用編では、もっとも複雑かつ便利な最後の機能を扱う。これは後の単元で学ぶ、Excelを用いた統計解析のいわば前哨戦にあたるもので、Excel自体に備わった統計解析機能といえる。

統計・データベース機能とは

われわれが表を作るとき、とくに、入門編の講座で演習としてやる場合には、すでに整理・集計済みのデータが用意されていることが多い。こういう表をExcelで作ってみましょうというわけだ。だが、実際のビジネスや研究では、そうしたデータが最初から与えられることはむしろ稀である。ほとんどの場合、データの発生源から取得された未整理データ、いわゆる生データしかない。その生データをもとに、さまざまな統計や分析処理を行い、データの意味を探り出す作業が要るのだ。これこそが集計である。
表計算ソフトには、この段階の作業を支援してくれる機能が備わっており、それをここでは統計・データベース機能と呼ぶことにする。表計算ソフトでは最も高度な機能群なので、これを習得すれば表計算ソフト自体は卒業と思ってよい。表計算ソフトを使えると自称するビジネスマンも、多くは表作成や表計算、グラフ作成止まりなのが実情だからだ。
表計算ソフトの3つの基本機能の関係を図1に示す。統計・データベース機能が使われるのは、表作成・表計算機能の前の工程である。

図1: 表計算ソフトの3つの基本機能の関係
この工程の作業は、生データを見ながら、分析・構造化してゆくことであるから、単一の決まった手法はない。そのため、表計算ソフトでは、いくつかの分析支援機能をセットで提供しており、ユーザはそれらを組み合わせてデータの分析を進める。統計・データベース機能には以下の3種類がある。
ソート
データの並べ替え
フィルタ
抽出条件を指定し、注目するデータだけを表示
ピボットテーブル/ピボットグラフ
オンデマンドに多次元的にデータを分析
これらの機能を学習するには、生データのサンプルが必要である。これは分析に値する程度の規模でなければならないので、図2の薬の販売データ(このリンクからダウンロードする)を用意した。これは、以下のように、7つのフィールド(項目)からなる、1092レコードからなるデータである。
図2: 演習用の生データ(薬の販売データ)
これは典型的なリスト形式の表であり、最初の行がフィールドのラベル、2行目以降の1092行が、1回ずつの営業活動を示すレコードである。各レコードには、いつ、誰が、何を、どこに、いくつ売ったかという1回の営業活動の詳細が記録されている。
ところで、7番目の売上高フィールドは、ラベルのみで実際のデータが入っていない。これはこのデータが、他のフィールドから計算で導き出される、いわゆる導出列だからである。演習の手始めにG2:G1093のセル範囲に式を設定し、売上高を計算させよう。うまく行ったら、一旦上書き保存しておくとよい。
これは製薬会社のある支店における3カ月(9/1~11/30)の販売記録であるようだ。だが、なにしろレコード数が多いため、一見しただけでは、この期間の営業活動全体の傾向や特徴はわからない。
では、各分析支援機能を使って、この販売データを分析してみよう。

ソート(並べ替え)

ソートとは、一連のレコード(データ)を、一定の基準(フィールドの値)によって並べ替えることであり、データ分析の最も初歩的な手法である。よく使われる並べ替えの基準は、図3のように、データの型毎に異なり、それぞれについて昇順(ascending order: 小さい順)降順(descending order: 大きい順)の方向がある。

図3: データの種類毎の昇順・降順の意味
ソートの基準として用いるフィールドをキーという。○○順と表現するときの○○である。たとえば売上高順・日付順・薬品名順など。ICT分野では、さらに昇順・降順の別を加えて日付昇順・売上高降順などと表現することが多い。
複数のフィールドをキーとして組み合わせることができ、これを「複合キー」という。この場合、各キーは対等ではなく、必ず優先順位がつく。たとえば日付順・営業担当者順なら、まず日付で並べ替え、同日のレコードをさらに営業担当者名で並べ替える。

フィルタ

フィルタとは、一連のレコードのうち、一定の抽出条件に合うレコードだけを表示し、その他を隠してしまう機能である。簡易的な検索とも考えられる。分析中のレコードのうち、いま注目しているものだけを見たい場合に用いる。たとえば、

などの要求に応えるための機能だ。ソートと同様、フィルタでも、複数の値や、複数フィールドの値を抽出条件として組み合わせることができ、これを複合条件という。ただし、ソートの場合と異なり、フィルタでは、各フィールドは対等に扱われ、優先順位はない。

ピボットテーブル/ピボットグラフ

統計・データベース機能のうち、もっとも複雑な代わり、もっとも便利で使い出があるのが、ピボットテーブルピボットグラフの機能である。これは前述のソート、フィルタや、ここでは紹介しなかった各種集計機能のすべてを集大成したものになっている。したがって、これを十分に使えれば、他の集計機能は不要であり、覚えなくてよい。
ピボットグラフは、通常の表とグラフの関係と同様、単にピボットテーブルをグラフ化したものなので、ここではピボットテーブルについてのみ説明する。
ピボットテーブルは、複雑で、一般に規模も大きい生データを、分析者がオンデマンドで分析する手法として考え出された。いわゆるOLAP(OnLine Analytical Processing)※1の一種である。図4に、データ分析作業のイメージを示す。

1 OLAPという概念は、リレーショナル・データベースの発明者であるエドガー・フランク・コッドが提唱した。このことからも、データの分析集計と、データベースの親和性が分かる。

図4: ピボットテーブルによるデータ分析作業のイメージ
現代のビジネスでは、オンデマンドで生データを分析するのが当たり前になった。これにはつぎのような事情がある。
店舗や営業所といったビジネスの現場では、生のデータが日々刻々と発生する。一方、生データを十分に分析して、経営戦略を立てるのは、多くの場合本社部門、たとえば経営戦略室といった中央の部門である。たとえば、コンビニやスーパーの店舗と本社の関係をイメージすれば、分かりやすい。
OLAPが一般的になる以前は、現場の営業活動を管理する店舗(支店)や営業所が、生データに対して何通りもの集計を行って集計表を作成し、それを定期的(たとえば毎月1回)に中央に提出することを行っていた。中央では各部署から集まった集計表を元にさらに独自の分析を加え、経営戦略に反映させていたのである。
だが、生データの構造が複雑になり、フィールド数が増えると、可能な集計の組み合わせは爆発的に増大し、中央に送らなくてはならない集計表データの量も、それに伴って膨大にならざるをえない。一方、中央ではその組み合わせのすべてが必要なわけではなく、場合に応じた要求(つまりデマンド)にしたがって全体の傾向を把握できればよいのである。集計表をまとめるための人的コストや、中央に集めるためのタイムラグも、コスト削減と経営スピードを重視する現代ビジネスには、時代遅れになってしまった。
そうした背景から、人や時間の無駄を省き、より柔軟な分析を行うために、現場では分析・集計を行わず、中央にすべての生データをリアルタイムに集めてしまい、中央にいる経営戦略の立案担当者が、それに対して必要な分析をその場で加えるというOLAP手法が採用されるようになった。ピボットテーブルピボットグラフOLAP=オンデマンド分析のための最重要ツールである。ぜひその概念を理解し、使いこなせるようになっておこう。
ところで、ピボット(pivot:軸)とは何だろう? なぜ、表の分析作業に回転軸という喩えがふさわしいのか?
とは、生データを集計するために注目するフィールドを指す。軸は1本以上、何本でもよい。たとえば2軸を指定して集計すれば、結果は2次元の集計表(マトリクス表)にまとめられる。たとえば営業担当者別・販売先別売上高、製品別・月別売上個数など。3軸以上を指定して、3次元の集計表も作れる。ただし、3次元の集計表は画面上や紙上で一度に見られないので、2次元の表の重なりとして表現される。これをデータキューブと呼ぶことがある。
ピボットテーブル機能では、これら2つ以上のをマウスのドラッグ&ドロップ操作で指定するだけで、即座に集計表を作ってくれる。分析を進めるうちに他の軸の組み合わせを試したくなる場合もあり、この機能はそうした要求に柔軟に応じるために考え出されたのである。各自、サンプルの薬の販売データについて、をあっちこっちと入れ替えながら、分析してみよう。巨大な生データの塊を、あっちこっちから見るという、回転のイメージが分かっただろうか。