Excelで作成したマトリクス形式の表を、データとして扱い易くなるよう、リスト形式の表に並び替える手順とそれを自動処理するマクロを検討します。
【更新】2018/01/13 値が空白やゼロのだったらリストから除外するバージョンのマクロを追加しました。
マトリクス表をデータ化したい
要は下図の左の表から右の表へ表の形式を変換したいです。
これらの表形式を何と呼んだものか、日本語の標準的な呼び名が良く分からないのですが、 左の表形式はマトリクス、集計表、クロステーブル、ピボットテーブル、多次元テーブル、横持ちデータなどの呼び名が使われているようです。
一方、上図右の表形式は、単にテーブル、リスト、一覧表、フラットデータ、縦持ちデータなどと呼ばれているようです。
この記事ではとりあえず、各々「マトリクス」と「リスト」と呼ぶようにします。
マトリクス表は、公表される統計データや、各部署の営業実績表、データ連携用コードマッピング表など、いたるところで使われています。
マトリクスは人が見る分には良くても、このままデータベースに取り込む元データ(CSVなど)としては使えず、いったんリスト形式に変換・加工する必要があります。
列ごとに配置換えするコピー&ペーストの単純作業を地道に繰り返せばいいのですが、データ量によっては非人道的な作業になります。
続きを読む