• ベストアンサー

パワークエリかVBAか(データ集約の適切な処理)

いつもお世話になっております。職務上、大量のデータを任意の様式に集計する必要が発生いたしました。手作業では途方もなく、なにか良い方法がないか調べていたところ、パワークエリもしくはVBAでの対応が良いのではとの見解に至りました。 具体的には以下のような集計方法を想定しております。その場合、どちらが最も効率的か教えていただけますでしょうか。(ちなみにどちらも知識ほぼ0です。) ベースとなるcsvファルは以下の通りです。 1.csvファイルで行項目は50項目程度 2.列項目は年月日毎のデータの積み重ねで1,000件単位 上記のベースとなるcsvファイルから、以下のように集計を行いたいと考えてございます。 ⅰ.ある行項目(例:売却物)に対して特定の項目毎(りんご、すいか、レモンなど)に抽出してそれぞれシートを作成 ⅱ.上記項目のほか必要な行項目(売れた個数、値段、購入者年齢、産地、売却額など)をいくつか掲載&順番入れ替え(全シート共通)、それ以外の行項目は削除 ⅲ.合計額が必要な数値のある行項目(売却額など)の最下段にSUM関数で合計額を記載 ⅳ.ある項目に特定の文字(おつとめ品、廃棄予定品など)がある場合は、非掲載(行削除もしくはソートで非表示) ⅴ.最後に行項目(1行目)のウィンドウ固定や各種罫線を記載して体裁を整える 以上となり、文字ばかりで分かりづらいご説明となり大変恐縮です。現状の下調べの感覚ですと、時間的成約や効率性に鑑みるとパワークエリが良いのではないかと考えますが、試行錯誤にも限度があり、昨今の物価高でお小遣い緊縮もありまして、どちらかの選択にするかだけでも先達さまの貴重なご意見賜われればと存じます。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.2

 トータルでの作業ボリュームと納期次第ですね。習得はパワークエリが容易ですが、集計したいファイル毎に多少の手作業が生じます。VBAはほぼ完全な自動化が可能ですが、習得難易度は上です。  ただ個人的には「どちらも知識ほぼ0」という状態なら、パワークエリの方が早期に作業可能な状態になるとは思います。  そもそもVBA等の知識がなくともデータ成形や集計が容易にできるように開発された機能ですから、表示される画面に従い操作するだけで作業可能です。  VBAの場合、こうしたQAサイトなどを活用したとしても、最終的に使い物にならない可能性は結構あります。このパターンはどうしようもないですから、ある程度の手間を覚悟でパワークエリで捌いてしまう方がいいように思います。  まずはパワークエリで一度作業してみて、その1ファイル毎の作業工数と処理すべきファイル数を鑑みて、VBAを検討してみてはいかがでしょうか。  ただ書かれている内容からすると、もしかして縦方向(行)に項目があり、横方向(列)に年月日毎のデータが入力されているような状態ですか?  この場合パワークエリでの作業にはひと手間必要です。具体的には下記ページなどを参考に、「縦持ちデータ」に変換して下さい。 https://qiita.com/plumfield56/items/90a1b0bba0d825da0406 https://comachilab.jp/blog/%E6%A5%AD%E5%8B%99%E5%8A%B9%E7%8E%87%E5%8C%96/01-5-1516

takeahero
質問者

お礼

大変ありがとうございました。言葉足らずで恐縮でしたが、私の集計するデータは縦持ちデータでございましたので、幾分かは円滑にできるのでないかと感じました。 また、VBAは時間をかけた割に何も使い物にならないは共感するところで、また、いずれは担当業務変更、システム仕様の変更などで当該VBAのメンテナンスの必要性が生じた際には非常に苦労することは目に見えていることからそういった環境変化も見据えた対応が必要と考えていたので、やはりパワークエリ活用の観点から、習得を早急に進めて参りたいと存じます。限られた時間の中で詳細のご回答深謝いたします。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

どちらも知識0でしたらVBAだと回答もらったコードをコピペして実行したらいいだけなので楽なのではないでしょうか。 ただ、パワークエリにしてもVBAにしても説明で「など」とかのような曖昧な説明では回答のしようがないと思います。

関連するQ&A