Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Home : Microsoft 365)
パワークエリの履歴を編集して利用したい。
投稿日時: 25/01/15 17:00:01
投稿者: mild2

パワークエリ初心者です。
「2024年売上」フォルダの中に「1月」から「12月」までの各月の売上データが入ったブックが12個入っています。パワークエリを利用して各月のブックのデータを一つのブックに結合して1年分の売上データが入ったテーブルが作成出来ました。
そこで同じように2023年以前の複数年フォルダからも同様の事をしたいと思っています。
2024年でやった事と同じ作業をすればできるのは分かっています。
しかし同じ作業を年度毎に何度もしたくないので、2024年でパワークエリを使った手順履歴を利用して作業対象フォルダを「2024年売上」フォルダを「2023年売上」フォルダに変更したら簡単にできるものと思います。まだ初心者ですのでその方法がわかりませんので、その方法を教えて下さい。

回答
投稿日時: 25/01/15 17:26:01
投稿者: sk

引用:
作業対象フォルダを「2024年売上」フォルダを「2023年売上」フォルダに変更

基本的には Folder.Files 関数を呼び出しているステップにおいて、
関数に渡しているフォルダの絶対パスを変更なさればよいでしょう。
 
引用:
各月のブックのデータを一つのブックに結合して1年分の売上データが入ったテーブルが作成

引用:
同じように2023年以前の複数年フォルダからも同様の事をしたいと思っています。

引用:
同じ作業を年度毎に何度もしたくない

あとは最終的な目標が「年度ごとにブックを作成すること」なのか、
「全ての年度の全てのブックを 1 つに統合したブックを作成すること」なのか次第。

回答
投稿日時: 25/01/15 19:47:54
投稿者: んなっと

こういうことかな?
 
 一番下のクエリの上で右クリック
→複製
→関数ボックスまたは詳細エディターで
 Folder.Files("D:\...\2024年売上") を書き換える

投稿日時: 25/01/16 13:08:38
投稿者: mild2

皆さん、ありがとうございます。
 
 一番下のクエリの上で右クリック
→複製
→関数ボックスまたは詳細エディターで
 Folder.Files("D:\...\2024年売上") を書き換える。

正に、やりたいことはこれです。
しかし実行してみましたが、元データを変更したばかりでは上手く行かなくて多数のエラーが生じてしまいそれを編集する手間を考慮したら新しくクエリを作成したほうが早いようでした。私がまだ未熟でしたので申し訳有りません。

投稿日時: 25/01/16 13:10:10
投稿者: mild2

パワークエリでデータ→データの取得→
その後にファイルから→フォルダから で元データを指定した後に最下部に表示される選択肢が↓
結合→@データの結合と変換、A結合及び読込
Bデータ変換
とあります。データを結合したいので当然@かAと思ったのですが、Youtubeでいくつかの動画を見ましたら、@の場合とAの場合とBの場合とが混在していました。
@    とA と Bの明確な選択基準がわかりません。
どなたでも結構です。その明確な使い分けを教えて頂けませんでしょうか?
*********のときは@
*********のときはA
*********のときはB とか

回答
投稿日時: 25/01/16 14:17:48
投稿者: Suzu

mild2 さんの引用:
皆さん、ありがとうございます。
 
 一番下のクエリの上で右クリック
→複製
→関数ボックスまたは詳細エディターで
 Folder.Files("D:\...\2024年売上") を書き換える。

正に、やりたいことはこれです。
しかし実行してみましたが、元データを変更したばかりでは上手く行かなくて多数のエラーが生じてしまいそれを編集する手間を考慮したら新しくクエリを作成したほうが早いようでした。私がまだ未熟でしたので申し訳有りません。

 
既に skさんが問われている事にもつながるのですが、
複製しても、サンプルファイルのソースが変わっていないので、そのままではエラーになる可能性があります。
 
 
・フォルダ 【2023年売上】 が存在している
・2024年 を結合したファイルとは別の Excelファイルに2023年の結合データを読み込む
 
を前提として
 
1. もともとの 2024年売上 を 結合し、できた エクセルファイルを そのままコピーし
  2023年なら、2023年用とします。
 
2. そのファイルを開き、データタブ データの取得と変換 データの取得→ PowerQueryエディターの起動
 
3. 左の クエリ ウィンド 内 サンプルファイル を右クリック 詳細エディター
  そこの
 
  ソース = Folder.Files("C:\〜2024年売上"),
  を
  ソース = Folder.Files("C:\〜2023年売上"),
  に変更し、完了
 
4. 左の クエリ ウィンド 内 一番下のクエリ を右クリック 詳細エディター
 が
 
let
    ソース = Folder.Files("C:\〜2023年売上"),
 
に書き換わっている事を確認し、キャンセル
 
5. 閉じて読み込む で、Excel に戻るので
  データタブ クエリと接続 の すべて更新
 
 
 
引用:
@ とA と Bの明確な選択基準がわかりません。

 
例えば
複数のファイルを含むフォルダーからデータをインポートする (Power Query)
https://support.microsoft.com/ja-jp/office/%E8%A4%87%E6%95%B0%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%90%AB%E3%82%80%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%83%BC%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B-power-query-94b8023c-2e66-4f6b-8c78-6a00041c90e4
 
すべてのコマンドについて   に、詳細が書かれています。
 
が、判りづらい。。
 
 
それなら、実際にやってみた方が早い。
やってみましたか?
 
途中までは同じです。
ファイルの結合 OK 後が違います。
 
1. PowerQuery エディターが開く
 
 
2.PowerQuery エディターが開かず
    新規シート作成、Excelにデータ表示
 
 
3.データのインポートダイアログが開く
        (データを返すシート・セルを指定できる)

投稿日時: 25/01/20 17:25:15
投稿者: mild2

ご回答頂いた内容を参考にして、エラーになったら長時間及び多数回、試行錯誤して何とか目的を達することが出来ました。ただ基本的な事も全然分かっていないことが分かりました。
そこで今回の内容をもう少し時間を掛けて検証して勉強してみます。
ご回答頂いた皆さん、ありがとうございました。