【割り算の余りの算出とピボット機能をうまく使ってVBAと同等の処理を行ってみましょう】
今回は下の画像のように1列のデータから、画像右側のようなテーブルデータを作成してみます
ポイント
ポイントは1列のデータの中で、何行目を何列目にするのかを明確にすることです
「何行目を何列目」にするかが分かれば、実はピボット機能(ピボット解除の逆)で簡単にテーブル化が行えます
目次
インデックス列の追加と余りの計算
解説はエディタからはじめさせて頂きます
1列のデータをテーブル化してエディタを開いたら、空白をフィルターで取り除いた後に、下の画像のようにインデックス列を追加します
その後に「何行目を何列目にするか?」の印を作るために「インデックス列」を3で割り、余りを算出します
上の画像にて黄色の箇所をクリックした後、開いた画面で3を指定します
すると次の画像のような列が追加されます
引き算の追加
このままピボットをすると次の画像のようになります
空欄が混じってしまい、テーブルデータとしての規則性がありません
ですので、上の画像の「インデックス列」の代わりに3行毎に集約するキーが必要になります
今回は、インデックス列から剰余の列を引くことで、下の画像のように集約キーを作成します
この引き算の処理により山田さんから始まる3行は0に、木村さんから始まる行は3に集約されます
引き算は余りの計算と同じ「標準」で行います
ピボット処理
では集約キーができたので、ピボット処理にて剰余の列の内容を列名になるようにします
このピボット処理は、「剰余列」を選択した上で、変換タブから行います
列のピボットをクリックしたら、値列は列1の内容になるように指定してください
そして、「詳細設定オプションにて」上の画像のように「集計しない」を指定してください
これで列名を変更して、無駄な列を削除したら完成です
<まとめ>
今回は、意外な方法で1列のデータから複数列のテーブルデータを作成しました
改めてPower Queryのピボットなどの機能は素晴らしいと感じました
今回のケースは特殊であり、実際の使用機会はあまり想像がつかないですが、データ整形の際には断片的に活用できる機会も多いかと思います
ぜひ一度チャレンジしてみてください
コメントを残す