はじめに
日々のデータ処理作業でExcel VBAを活用されている方も多いのではないでしょうか?
実際に、以前までは私もVBAを頻繁に活用していました。何十行、何百行ものVBAコードと向き合い、エラーを一つずつ潰し、苦労して業務の自動化を行っていました。その結果、業務は自動化されたものの、処理内容は担当者以外にはわからず、属人化が深刻な問題になっていました。
しかし、Tableau Prepを使い始めてから2か月、データ処理作業の常識が変わりました。
そこで今回は、このTableau Prepの魅力を伝えたいと思い、Excel VBAでのデータ統合処理を例に挙げTableau Prepにて置き換えてみました。
その結果、VBAで書いていたコードがTableau Prepではこんなにシンプルになりました。

本記事では、その具体的な手順を、私が実際に感じたTableau Prepのメリットとともに紹介します。
そもそもTableau Prepって何?
Tableau Prepは、GUI(グラフィカルユーザーインターフェース)を使って簡単かつ直感的にデータ準備ができるツールです。複雑なコードを書く必要がなく、マウス操作だけでデータのクリーニング、整形、結合、集計といった一連の作業を「データフロー」として視覚的に構築できます。

Prepに触れて感じた3つのメリット
Tableau Prepを触り始めて、特に感動したのは以下の3点です。
1. 可視化の力で誰でも理解できる
VBAコードは書いた人にしかわからないことが多く、属人化の問題を常に抱えていました。仕様変更のたびにコードを読み解き、修正するのは時間も手間もかかります。しかし、Tableau Prepでは、データフローが視覚的に表示されるため、誰が見ても処理の全体像を瞬時に把握できます。どのファイルからどんなデータを取り込み、どのような加工をして、最終的にどう出力されるかが一目瞭然です。これにより、意図しないデータの変化やエラーも簡単に見つけることができます。
2. 多様なデータ形式にも対応
VBAはExcelの操作に特化しているため、Excel以外のCSVやデータベースのデータを扱うには、コードが複雑になる傾向があります。一方、Tableau Prepは、Excel、CSV、データベースなど、さまざまなデータ形式に標準で対応しています。
3. 勉強コストのいらない簡単な操作で柔軟なデータ整形が可能
VBAでは、複数のExcelファイルを統合(ユニオン)するだけでも、プログラミングの知識が必要になります。また、データの型を変更したり、不要な列を削除したりといった追加の整形作業も、すべてコードで記述しなければなりません。Tableau Prepなら、マウスでファイルをドラッグ&ドロップし、「ユニオン」のステップを追加するだけで統合が完了します。さらに、データプレビューを見ながら、数クリックでデータの整形やクリーニングを直感的に行えます。
今回使用したデータ
今回は、統合後のデータがExcelの行数限界に迫る約100万行となるケースを想定しました。使用したデータは、以下の5つの項目で構成された、1月から5月までの5つのExcelファイルです。各ファイルには、それぞれ約20万行のダミーデータが含まれています。
- 項目:日付、商品ID、商品名、単価、販売数

実際の操作手順
今回は、指定したフォルダ内の複数Excelファイル(1〜5月分)を統合し、新しいファイルに出力する作業を例に、VBAでの処理をTableau Prepにて置き換えました。
VBAでのコード
VBAで処理を行う場合、例えば以下のようなコードを記述します。フォルダの指定、ファイルのループ処理、各ファイルのデータのコピー&ペースト、そして新しいシートへの貼り付けといった一連の動作を、すべてコードで正確に指示しなければなりません。このコードは初心者にとっては難易度が高く、処理内容を理解するのも一苦労です。

Tableau Prepでのアプローチ
Tableau Prepでは、コードを一切書かずに同じ処理が完了します。
-
1.ファイルへの接続:Tableau Prepを開き、「接続」ペインから統合したいExcelファイルの1つを選択します。
ファイルの形式「Microsoft Excel」を選択します。

ダイアログが開かれるので、統合したいExcelファイルの1つを選択します。

ファイルが取り込まれると以下のような画面になります。
※Excelファイル内にシートが複数ある場合、テーブル部分で該当シートを選択してドラッグする必要があります。

-
2.フォルダ選択:テーブルタブのソース部分にて、「複数のテーブルを結合」を選択し、統合したいファイルが格納されているフォルダを指定します(初めに選択したファイルが格納されているフォルダが選択済)。

-
3.ワイルドカードユニオン:テーブルタブのファイルフィルター部分にて、統合したいファイル名を*を用いて指定します。Prepが自動でフォルダ内のファイルを認識し、ワイルドカードユニオンとして統合します。

-
4.クリーニングステップの追加::+ボタンより、統合されたデータフローにクリーニングステップを追加してデータを整形します。

-
5.出力ステップの追加:クリーニングステップに続いて出力ステップを追加し、ファイル形式や保存先を指定して出力します。

-
6.データ出力の実行:参照よりファイル形式や保存先などの出力先の情報を選択し、フローの実行をします。(新規にExcelファイルを作成するなど、出力先にワークシートがない場合は新しいワークシートを作成してください)

-
7.データ出力完了:以上でフローの実行が完了し、指定のフォルダに統合されたファイルが出力されます。

まとめ
VBAでは長くて複雑だったコードが、Tableau Prepではマウスでのクリック操作メインで完了してしまいました。処理内容も視覚的なフローで可視化されており、全体像を直感的に捉えることができます。
今回紹介した例からわかるように、Tableau Prepでは、VBAで手間がかかっていた定型的なデータ処理作業を、誰でも理解できる可視化された形で、より簡単に実現できるツールです。
最後に
VBAによるデータ処理のコード開発に加えて、コードの保守やメンテナンス、属人化に悩んでいるのであれば、ぜひ一度Tableau Prepを試してみてはいかがでしょうか。データ集計作業におけるあなたの悩みを解決し、より生産的な業務へと変えてくれるはずです。
今回はシンプルなデータ統合の例をご紹介しましたが、Tableau Prepを使えば、より複雑なデータの整形や結合も可能です。もしご要望があれば、より応用的なデータフローについてもブログでご紹介したいと思います。
また、「自社のデータ処理作業を効率化したい」「Tableau Prepの導入を検討したい」といったお悩みがありましたら、ぜひお気軽にご相談ください。あなたの会社のデータ活用をサポートさせていただきます!