2022-09-25
  • データ主導の人材開発・組織開発

相関行列をEXCELで作成する

社員意識調査/従業員サーベイや360度フィードバックの設問項目間の関係を調べるために、(因子分析まで行わなくても、その前提である)項目間の相関を調べてみる、すなわち相関行列を作ってみることは、基本的、かつ極めて有効な動作であると言ってよいでしょう。

しかし、EXCELで相関行列を作るのは難しいのです。というのも、EXCELには相関係数を求めるcorrelという関数がありますが、それは2つの項目の間の相関を調べるだけなので、調査項目が30項目あるとすると、30項目の互いの相関係数を得るためには、30×30のマトリクスを作り、900のマス目(正確には、同じ項目どうしの相関係数は1に決まっていて、かつ2項目の向きは関係ないので、900でなく435のマス目)にcorrel関数の数式を入れていかなければならず、それは普通には現実的ではありません。

私などは、BellCurveのエクセル統計をPCに入れているので、相関行列の作成時にはそれに頼っていました。(通常の相関行列の他に、偏相関行列を出せるメリットもあります。)しかしそれでは、チーム全員がPCにエクセル統計を入れない限り、相関行列の作成をチーム全員の基本動作にすることができないことになってしまいます。(PythonやRをチームの基本動作にするならば別です。)

そこへ、データサイエンスの数学的基礎を詳しくわかりやすく教えてくれるスーパー教師にしてスーパープレゼンターであるVTuber、AIcia_Solidさんが、相関行列を作成するスプレッドシートを作成するテクニックを教えてくれているのを発見しました。ポイントは、R1C1参照形式を使い、(row関数およびcolumn関数で取得した)相関行列の位置から、(indirect関数で)比較対象とする2つの列を指定することですね!これは福音です!

AIcia_Solidさんの動画の概要欄からは実際のシートもダウンロードできますが、Googleスプレッドシートを前提にしているので、EXCELで動かすためには、少し手を加える必要があります。(indirect関数で参照する文字列を先に作っておくことがポイントです。必要でしたら、上の問い合せのところから半蔵門オフィスにメールでご連絡いただければ、EXCEL版を共有させていただくことができるかもしれません。)