[[20231114172635]] 『複数エクセルファイルを整理したい』(ロビン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数エクセルファイルを整理したい』(ロビン)

商品データの「モデル別」でエクセルファイルが何百と仕分けされたデータがございまして、なるべく1つのファイルに結合できないかと思いご相談させて頂きました。

ヘッダー項目が同じであればエクセル機能の
「フォルダ読み込み」よりフォルダを選択して結合という手順でできるとは思いますが、ファイルによって列(項目)の数や並び順が若干異なるためできませんでした。

こういったケースは地道に項目を揃えるしかないのでしょうか?
なにかエクセルの初期機能やファイル操作の無料ソフト、マクロなど打開策があれば大変嬉しいです。

また、各ファイル6か7行ほど不要(空白やメモなど関係ないので)でして
A列の最初の行には「code」という項目名があるのでそこから上の行を一括で行ごと削除ができないでしょうか?

加えて各ファイル空白で不要の「列」があるようなのでこちらも一括で削除できないでしょうか?

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 >1つのファイルに結合

  これは、1つのテーブルと考えてよいですか
(マナ) 2023/11/14(火) 18:39:33

マナ様

はい、テーブルにできるのが理想です。
(ロビン) 2023/11/14(火) 19:04:58


 まずは以下の操作を実行してみてください

  ・データの取得/ファイルから/フォルダから
 ・対象フォルダを指定
 ・「データの変換」

 Power Queryエディターが起動したら
 ・列の追加/カスタム列
   新しい列名;カスタム
   カスタム列の数式:= Excel.Workbook([Content])

 ・[カスタム]列を選んで、右クリック/他の列の削除
 ・[カスタム]列を展開
   列の選択: ☑Data
   □元の列名をプレフィックス…のチェックをはずす
 ・列の追加/カスタム列
   新しい列名;ヘッダー位置
   カスタム列の数式:= List.PositionOf([Data][Column1],"code")
 ・列の追加/カスタム列
   新しい列名;不要行削除
   カスタム列の数式:= Table.Skip([Data],[ヘッダー位置])
 ・列の追加/カスタム列
   新しい列名;カスタム
   カスタム列の数式:= Table.PromoteHeaders([不要行削除])
 ・[カスタム]列を選んで、右クリック/他の列の削除
 ・[カスタム]列を展開
   □元の列名をプレフィックス…のチェックをはずす
(マナ) 2023/11/14(火) 19:45:49

 最後2つのステップのかわりに、

 >・[カスタム]列を選んで、右クリック/他の列の削除
 >・[カスタム]列を展開
 >  □元の列名をプレフィックス…のチェックをはずす

 ・適用したステップ欄で、最後のステップを選んで右クリック/後にステップの挿入
 ・数式バーを修正、= Table.Combine(直前のステップ名[カスタム])
(マナ) 2023/11/14(火) 20:20:40

マナ様

■メッセージ有難うございます。

━━━━━━━━━━
最後2つのステップのかわりに、

 >・[カスタム]列を選んで、右クリック/他の列の削除
 >・[カスタム]列を展開
 >  □元の列名をプレフィックス…のチェックをはずす
          ↓
 ・適用したステップ欄で、最後のステップを選んで右クリック/後にステップの挿入
 ・数式バーを修正、= Table.Combine(直前のステップ名[カスタム])
━━━━━━━━━━

上記の手順ですが、適応したステップの最後は「カスタム」とう名称で
そちらを選択すると数式バーに数式が入っていない状態でしたので、
= Table.Combine(直前のステップ名[カスタム])
を入れてenterを押したら下記のエラーメッセージがでました↓↓

Expression.Error: 名前 '直前のステップ名' を認識できません。綴りが正しいことを確認してください。

一応適応したステップ一覧を共有致します。
ソース
追加されたカスタム
削除された他の列
展開されたカスタム
追加されたカスタム1
追加されたカスタム2
追加されたカスタム3
カスタム

powerQuery の変換機能は使用したことがなくなにをされているか理解できていない状況です(><)

お手数ですがご確認宜しくお願い致します。
(ロビン) 2023/11/15(水) 09:35:14


 > 追加されたカスタム3

 これが、直前のステップ名 です
(マナ) 2023/11/15(水) 09:56:29

マナ様

ご回答有難うございます。
先ほどのエラーメッセージはなくなり読み込みまでできました。

もしよろしければ一連の流れのやり方をご教授頂きましたが、
各ステップの「解説」もお願いできないでしょうか?

ファイルによって列(項目)の数や並び順が若干異なるものでしたが、
どのような処理をして結合されているのか知りたいです。

(ロビン) 2023/11/15(水) 14:00:38


 こんなイメージです

 ・指定フォルダ内のファイル一覧取得
 ・エクセルデータを取得
 ・シートデータをテーブルに変換
 ・各テーブルの不要な行数を計算
 ・各テーブルの不要な行を削除
 ・各テーブルの1行目をヘッダーに変換
 ・各テーブルを一つに結合

 中央のプレビュー画面で、途中経過を確認できます。
 Tableと表示されている横の余白部分をクリックすると
各テーブルの中身が下にプレビューされます。

 > ファイルによって列(項目)の数や並び順が若干異なるものでしたが、
 > どのような処理をして結合されているのか知りたいです。

 それは、わかりません。
 Power Queryがうまい具合に処理してくれます。
(マナ) 2023/11/15(水) 16:46:57

マナ様

>> 中央のプレビュー画面で、途中経過を確認できます。

 Tableと表示されている横の余白部分をクリックすると
各テーブルの中身が下にプレビューされます。
↓↓

上記のtableというのはどこのことでしょうか?
適応したステップの各ステップのことでしょうか?

理解がおいつかず申し訳ないのですが、
各ファイルのヘッダー項目が完全一致ではないのに一つのテーブルに結合しているのでしょうか?
または同じ項目のみ結合して不一致の項目は新しく一行目の項目名に追記されているのでしょうか?
(ロビン) 2023/11/16(木) 14:18:12


 > 上記のtableというのはどこのことでしょうか?

 適用したステップで、「追加されたカスタム3」を選んだとき
 プレビュー画面で、右端の[カスタム]列の値がすべて、Table になっていませんか。

 > または同じ項目のみ結合して不一致の項目は新しく一行目の項目名に追記されているのでしょうか?

 こっちです。テストサンプルを用意して、試すくらいはしてください。
(マナ) 2023/11/16(木) 20:20:15

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.