こちらは素人です。
エクセル2016でパワークエリ、ピボットテーブルを使います。office2016スタンダードなので、パワーピボットタブ出ません。(「開発」タブのCOMアドインにパワーピボットがない)
今回やったこと:
考え:
以前からピボットテーブルは、「万能でない」と思っていた。頭が悪いので、うまく言えないが、ピボットテーブルは「クロス集計」(マトリックスでマス内が数字)のものであり、元のデータは、数字が1列に並んでいる「縦持ちデータ」を基本とする。
だから、「学校の時間割」のような表(マトリックスでマス内が文字)を作るのは難しいと思っている。(先生ではないけどね)
今回、パワークエリで列のピボット解除やパワークエリでピボットテーブル(集計しない)を使うことでいろんなことが可能になった気がする。
実際
(1)マトリックス表(図)→縦持ちデータへ変換
①下記の例を準備。
時間割 月曜 火曜 水曜
1限目 国語 社会 算数
2限目 算数 図工 理科
3限目 理科 国語 社会
②パワークエリで、月曜 火曜 水曜の列を選択して「列のピボットの解除」をする。
時間割 属性 値
1限目 月曜 国語
1限目 火曜 社会
1限目 水曜 算数
2限目 月曜 算数
2限目 火曜 図工
2限目 水曜 理科
3限目 月曜 理科
3限目 火曜 国語
3限目 水曜 社会
結果、マトリックスを縦持ちデータに変換。
(2)縦持ちデータ→マトリックス表(図)に変換(値を文字のままに集計しない)(参考ホームページ:JSDG日本システムアドミニストレーター連絡会さんのPowerQuery【07】)
①上記の縦持ちデータを例にします。
②パワークエリで、横軸になる列(曜日)を選択して「列のピボット」(ピボットした場合の値列は、科目)詳細設定オプション(△マークがついている)で「集計しない」を選択
時間割 月曜 火曜 水曜
1限目 国語 社会 算数
2限目 算数 図工 理科
3限目 理科 国語 社会
結果、縦持ちデータをマトリックスを変換。(戻った)(ちなみに「1限目」などのため左列で昇順になっていますが、左列が名前の表とかだと行の並びは元に戻りません)
この変換ができるのはうれしい。
しかし、自分用の備忘録とは言え、試行錯誤の間違いだらけです。申し訳ありません。